Android View如何获取焦点
2个回答
展开全部
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);
然后调用 view.requestFocus()即可获取焦点。
因此最好在新窗体创建时,在onCreate()方法中将焦点放在另一个view上。
view使用requestFocus()焦点,但是如果让button或者textView之类控件直接使用requestFocus()方法,则无法获取焦点,焦点会依然在editText上。
只能在使用View的requestFocus()方法之前调用下面2个方法,view才可获取焦点:
view.setFocusable(true);
view.setFocusableInTouchMode(true);
然后调用 view.requestFocus()即可获取焦点。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询