版权声明:本文为博主原创文章,未经博主允许不得转载。 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" />