打开新界面时,EditText焦点自动弹出软键盘

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36347817/article/details/82964141

对于一点点空闲时间,看看文章,竟然想起以前的一个问题,赶紧修改起来。

Android新打开Activity、Dialog、其他窗体,其中包含EditText,新启动的activity的焦点默认在EditText上,此时系统会自动弹出软键盘。

解决: 

方法一、

目的效果:

activity打开,软键盘不自动打开,焦点不在editText上面。当点击editText,再打开软键盘。

具体方法:

在onCreate()方法中将焦点放在另一个view上.  view使用requestFocus()焦点

view.setFocusable(true);
view.setFocusableInTouchMode(true);
view.requestFocus();

注意:如果让button或者textView之类控件直接使用requestFocus()方法,则无法获取焦点,焦点会依然在editText上。

方法二、

目的效果:

activity打开,软键盘不自动打开,焦点落在editText上面。当点击editText,再打开软键盘

具体方法:

在Activity中OnCreate方法里面加下面这句代码 

getWindow().setSoftInputMode(  WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

或者

在AndroidManifest.xml中该activity处添加android:windowSoftInputMode属性

<activity android:name="SecondActivity" 
          android:screenOrientation="landscape" 
          android:windowSoftInputMode="stateAlwaysHidden" />

猜你喜欢

转载自blog.csdn.net/qq_36347817/article/details/82964141