Android中EditText隱藏/自動彈出輸入法的問題
有些時候我們的應用需要在EditText聚焦時自動彈出輸入法,或者隱藏輸入法,關於輸入法彈出,一般不會有什麼問題。但是,有一些情況輸入法是沒發自動彈出的,比如彈出的對話方塊裡有edittext,介紹一些常用的用法。
一,配置AndroidManifest檔案
通用做法,在有edittext的activity中,配置
android:windowSoftInputMode
,讓輸入法自動調節大小。
比如登入介面,有兩個EditText和按鈕,當使用者點選輸入使用者名稱時,自動彈出輸入法,將佈局頂上去,adjustResize可以讓輸入法不遮住edittext輸入框。
<activity
android:name="com.oair.oair_client.LoginActivity"
android:label="@string/title_activity_login"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation"
android:windowSoftInputMode="adjustResize"/>
三,設定activity啟動的時候輸入法預設不開啟
activity啟動的時候,editext不聚焦,輸入法是不會彈出的,輸入的時候點選就會彈出輸入法。
也可以在onCreate方法中,設定:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
三,對話方塊有EditText,強制顯示輸入法
彈出的對話方塊裡有edittext,show方法與輸入法的現實可能會衝突,沒發自動彈出的,所以可以這樣:
//顯示對話方塊之後,用handler延時顯示輸入法
dialog_rename.show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
showInputMethod();
}
},100);
}
private void showInputMethod() {
//自動彈出鍵盤
InputMethodManager inputManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
//強制隱藏Android輸入法視窗
// inputManager.hideSoftInputFromWindow(edit.getWindowToken(),0);
}
四,輸入法相關方法
/**
* 顯示鍵盤
* @param context
* @param view
*/
public static void showInputMethod(Context context, View view) {
InputMethodManager im = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
im.showSoftInput(view, 0);
}
//隱藏虛擬鍵盤
public static void HideKeyboard(View v){
InputMethodManager imm = ( InputMethodManager) v.getContext( ).getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive()) {
imm.hideSoftInputFromWindow( v.getApplicationWindowToken() , 0 );
}
}
總結
應用起來比較簡單,不再贅述。也可以配置EditText,設定是否獲得焦點,清除焦點:edit.clearFocus();
EditText不彈出軟體鍵盤:
edit.setInputType(InputType.TYPE_NULL);
。
activity預設彈出輸入法:
android:windowSoftInputMode="stateVisible|adjustPan"
歡迎交流,杜乾,Dusan,Q 291902259。
相關文章
- android:edittext 輸入問題Android
- Android中EditTex焦點設定和彈不彈出輸入法的問題Android
- 製作可以自動隱藏的彈出式選單 (轉)
- 隱藏的輸入框調起軟鍵盤問題--ios/安卓iOS安卓
- android edittext InputFilter 輸入控制AndroidFilter
- win10遊戲裡輸入法總是自動彈出的解決方法Win10遊戲
- 監聽Android軟體盤彈出及隱藏Android
- Android輸入鍵盤隱藏解決方案Android
- JS窗體彈出問題輸入答案_promptJS
- Android點選列表後彈出輸入框,所點選項自動滾動到輸入框上方Android
- ubuntu中將皮膚自動隱藏Ubuntu
- EditText中輸入資訊的限制的方法
- Android隱藏EditText長按選單中分享功能探索Android
- Android中的EditText預設時不彈出軟鍵盤的方法Android
- app直播原始碼,Android EditText的游標的顯示和隱藏APP原始碼Android
- 記一次頁面有EditText時,鍵盤彈出的問題
- EditText輸入框自動頂上去2種解決方案
- win10玩遊戲老是彈出輸入法怎麼辦 玩遊戲shift鍵老彈出輸入法Win10遊戲
- MFC彈出選單隱藏解決
- Android基礎 Android EditText禁止輸入空格Android
- 直播網站原始碼,安卓防止輸入框自動彈出網站原始碼安卓
- 解決自定義可拖動View在軟鍵盤彈出和隱藏時位置重置問題View
- Android入門教程 | EditText 使用者輸入Android
- Android軟鍵盤彈出,覆蓋h5頁面輸入框問題AndroidH5
- iOS解決鍵盤彈出遮擋輸入框問題iOS
- Android TextWatcher監控EditText中的輸入內容並限制其輸入字元個數Android字元
- 自動隱藏的Sticky的HeaderHeader
- win10系統下如何隱藏搜狗輸入法的圖示Win10
- VB中實現窗體自動隱藏 (轉)
- ACM中的輸入問題ACM
- Android 監聽鍵盤彈起及隱藏Android
- InstallShield 隱藏密碼輸入 (轉)密碼
- 直播app系統原始碼,輸入完內容後自動隱藏軟鍵盤APP原始碼
- EditText設定密碼隱藏和顯示密碼
- 實現android按下Enter鍵便隱藏輸入鍵盤Android
- Android多個EditText輸入效果解決方案Android
- AndroidTips:解決Dialog全屏顯示以及Dialog顯示自動彈出輸入法Android
- 阻止android軟鍵盤自動彈出Android