android不彈出鍵盤
A. 安卓 dialogfragment彈出不出鍵盤的問題
在編輯框輸入內容時會彈出軟鍵盤,而手機屏幕區域有限往往會遮住輸入界面,我們先看一下問題效果圖:輸入用戶名和密碼時,系統會彈出鍵盤,造成系統鍵盤會擋住文本框的問題,如圖所示:輸入密碼時輸入框被系統鍵盤遮擋了,大大降低了用戶操作體驗,這就是開發中非常常見的軟鍵盤遮擋的問題,該如何解決?簡單解決方案方法一在你的activity中的oncreate中setContentView之前寫上這個代碼getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);方法二在項目的AndroidManifest.xml文件中界面對應的里加入這樣會讓屏幕整體上移。如果加上的是android:windowSoftInputMode="adjustPan"這樣鍵盤就會覆蓋屏幕。關於android:windowSoftInputModeactivity主窗口與軟鍵盤的交互模式,可以用來避免輸入法面板遮擋問題,Android1.5後的一個新特性。這個屬性能影響兩件事情:【一】當有焦點產生時,軟鍵盤是隱藏還是顯示【二】是否減少活動主窗口大小以便騰出空間放軟鍵盤它的設置必須是下面列表中的一個值,或一個」state…」值加一個」adjust…」值的組合。在任一組設置多個值——多個」state…」values,例如&mdash有未定義的結果。各個值之間用|分開。例如:
B. android 如何讓軟鍵盤自動彈出
可以通過下面的代碼來實現Android自動彈出軟鍵盤:
edittext.requestFocus(); //edittext是一個EditText控制項
Timer timer = new Timer(); //設置定時器
timer.schele(new TimerTask() {
@Override
public void run() { //彈出軟鍵盤的代碼
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(edittext, InputMethodManager.RESULT_SHOWN);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY);
}
}, 300); //設置300毫秒的時長
說明:同樣是在寫Techo Lite時遇到的問題。希望程序可以自動彈出軟鍵盤,可是嘗試了各種辦法都沒有效果。問題的原因似乎是必須等待UI繪制完成後彈出軟鍵盤的代碼才會有效。於是就採用了上面的方法。需要注意的是,在此之前必須讓edittext獲取焦點,不然也是無效的。
C. android4.0模擬器EditText不自動彈出軟鍵盤了 @@ 大家誰知道怎麼
重新編輯自己的模擬器
只需在android
virtual
devices
manager中的devices
Definitions中選中對應的device進行編輯(edit),在input那欄勾選keyboard下面的隨選(我選No
Nav)在Button那欄選software。
D. android開發中,EditText點擊事件可以響應,就是不彈出軟鍵盤。怎麼解決,EditText是在Dialog中使用的
當點擊EditText時:
1、存儲當前的輸入類型
2、設置輸入類型為InputType.TYPE_NULL,禁止手機軟鍵盤
3、還原原來的輸入類型,因為這次操作完,還要允許用戶修改。
4、彈出日期選擇對話框,操作完後將結果顯示到EditText上。
隱藏軟體盤,代碼如下:
EditText et_start_time = (EditText) this.findViewById(R.id.et_start_time);
int inType = et_start_time.getInputType();
et_start_time.setInputType(InputType.TYPE_NULL);
et_start_time.onTouchEvent(event);
et_start_time.setInputType(inType);
et_start_time.setSelection(et_start_time.getText().length());
E. android 對話框在底部彈出時,為什麼彈不出軟鍵盤了
Android中判斷軟鍵盤是否彈出或隱藏可以藉助軟鍵盤顯示和隱藏時,對主窗口進行了重新布局這個特性來進行偵聽。如果我們設置的模式為壓縮模式,那麼我們可以對布局的onSizeChanged函數進行跟蹤,如果為平移模式,那麼該函數可能不會被調用。假設跟布局為線性布局,模式為壓縮模式,我們寫一個例子,當輸入法彈出時隱藏某個view,輸入法隱藏時顯示某個view。{;{voidOnResize(intw,inth,intoldw,intoldh);}publicvoidsetOnResizeListener(OnResizeListenerl){mListener=l;}publicResizeLayout(Contextcontext,AttributeSetattrs){super(context,attrs);}@(intw,inth,intoldw,intoldh){super.onSizeChanged(w,h,oldw,oldh);if(mListener!=null){mListener.OnResize(w,h,oldw,oldh);}}}
F. android 雙屏無法彈出系統鍵盤
原因是因為當界面初始化的時候可能EditText並沒有初始化完成,就要求顯示軟鍵盤了。
在包含EditText外層布局上添加,搶在EditText獲取焦點,即可。
正常情況下,只要寫了EditText控制項,當進入Activity時,是會直接顯示軟鍵盤的,但是如果我們的EditText是GONE或者INVISIBLE的話,當我們點擊其他控制項,然後讓Edittext顯示,並且彈出軟鍵盤,那麼這個時候就必須關注順序的問題,必須必須先讓EditText顯示,在調用顯示軟鍵盤的代碼才可以,如果先讓軟鍵盤彈出再讓EditText顯示,這個時候軟鍵盤是彈不出來的。
G. 如何設置Android軟鍵盤的默認不彈出
在開發Anroid的時候,當你打開一個界面的時候,屏幕的焦點會自動停留在第一個EditText中,Android的軟鍵盤默認會自動彈出,用戶第一眼連界面都沒有看清楚,軟鍵盤就彈出來了,這就影響到了用戶體驗,我們需要設置打開界面的時候,當EditText獲取焦點的時候,不彈出軟鍵盤,其實也很簡單,代碼如下:
// 默認軟鍵盤不彈出 getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
在OnCreate()函數中,加上即可,OK,搞定。