App的UI上有多个View,也包括EditText,进入界面后,焦点自动落在第一个EditText上,并弹出软键盘,感觉很不好。
解决该问题的思路有两种:
1、转移焦点至其他View: xml文件里,目标View的属性中添加以下两行设置,
android:focusable="true" android:focusableInTouchMode="true"
这样焦点不在EditText上了,软键盘自然不会弹出。
2、隐藏软键盘,不让其自动弹出:在Manifest文件里,对应的Acitivity属性中添加以下设置,
android:windowSoftInputMode="stateAlwaysHidden"
这样,进入界面,可以看到焦点还是落在EditText上,只是不会弹出软键盘,用手点击EditText,软键盘正常弹出
总结:如果既不想让初始焦点落在EditText上进行提示,又不想弹出软键盘,可以用方法1;如果希望提示性的初始化焦点仍然落在EditText上,但不弹出软键盘,可用方法2;如果只是想抑制软键盘自动弹出,则两种均可。