如何在活动开始时隐藏键盘

时间:2012-12-10 12:08:32

标签: android android-activity keyboard

我有一个包含大量edittext的活动。每当我加载该活动时,键盘出现并吃掉一半的屏幕,这使得该活动看起来很糟糕。因此,当我加载该活动时,有没有办法隐藏键盘。

7 个答案:

答案 0 :(得分:32)

你的onCreate()中的

使用这个..

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);
    }
}