我有一个包含大量edittext的活动。每当我加载该活动时,键盘出现并吃掉一半的屏幕,这使得该活动看起来很糟糕。因此,当我加载该活动时,有没有办法隐藏键盘。
答案 0 :(得分:32)
使用这个..
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
答案 1 :(得分:8)
在活动的RootLayout的XML文件中添加这两行,即相对或线性(无论你采取了什么):
android:focusableInTouchMode="true"
在活动清单文件中添加此行
android:windowSoftInputMode="stateHidden"
答案 2 :(得分:8)
在AndroidManifest.xml中添加属性 android:windowSoftInputMode :
<activity android:name="your.package.ActivityName"
android:windowSoftInputMode="stateHidden" />
答案 3 :(得分:5)
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
答案 4 :(得分:0)
您可以使用intputmethodmangare ...使用以下代码执行此操作..
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
答案 5 :(得分:0)
将此代码放在onCrete
函数上:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
view.clearFocus();
}}, 50);
其中view
是您的EditText
可运行的原因是因为代码可能在呈现editText
之前执行。
答案 6 :(得分:0)
我创建了一个方法,该方法在onCreate事件中的所有必需Activity类中调用。在所有情况下都为我工作。
public class ClassLib {
public static void hideKeyboard(Activity activity) {
//Hide keyboard
activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
}