Android 软件盘不自动弹出解决办



不自动弹出软键盘

有时进入Activity后不希望系统自动弹出软键盘,我们可以按照下面的方法来实现: 
方法一: 
在AndroidMainfest.xml中选择那个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden

<activity Android:name=".Main"
            Android:label="@string/app_name"
            Android:windowSoftInputMode="adjustUnspecified|stateHidden"
            Android:configChanges="orientation|keyboardHidden">
            <intent-filter>
                <action Android:name="android.intent.action.MAIN" />
                <category Android:name="android.intent.category.LAUNCHER" />
            intent-filter>
activity>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

方法二: 
让EditText失去焦点,使用EditText的clearFocus方法

EditText edit=(EditText)findViewById(R.id.edit);
              edit.clearFocus();
  • 1
  • 2

其他实现方式:

 1. 最简单的方式:在EditText的父布局中,添加如下设置:

 android:focusable="true"
 android:focusableInTouchMode="true"
2. 放置一个隐藏的View(visible = invisible)设置其requestFocus属性。
requestFocus = true;

方法三: 
强制隐藏Android输入法窗口

EditText edit=(EditText)findViewById(R.id.edit); 
           InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
           imm.hideSoftInputFromWindow(edit.getWindowToken(),0);
  • 1
  • 2
  • 3

方法四: 
EditText始终不弹出软件键盘

EditText edit=(EditText)findViewById(R.id.edit);
         edit.setInputType(InputType.TYPE_NULL);

你可能感兴趣的:(android)