Android新启动Activity,dialog或者其他窗体中中包含EditText, 新启动的activity的焦点默认在EditText上,这是android系统会弹出软键盘,挤压activity本来的界面,影响美观。
因此最好在新窗体创建时,最好在onCreate()方法中将焦点放在另一个view上. view使用requestFocus()焦点,但是如果让button或者textView之类控件直接使用requestFocus()方法,则无法获取焦点,焦点会依然在editText上。
只能在使用View的requestFocus()方法之前调用下面2个方法,view才可获取焦点:
view.setFocusable(true);
view.setFocusableInTouchMode(true);
然后调用 requestFocus()即可获取焦点。
转:http://www.cnblogs.com/dunning/archive/2011/11/30/2268917.html
本文介绍如何在Android应用中避免新启动的Activity中EditText自动获取焦点并弹出软键盘的问题。通过设置特定View的焦点属性,可以有效防止软键盘的自动弹出,改善用户体验。
418

被折叠的 条评论
为什么被折叠?



