Android View如何获取焦点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android View如何获取焦点相关的知识,希望对你有一定的参考价值。
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()即可获取焦点。 参考技术A Android 中的view使用requestFocus()焦点具体的方法如下:1.view.setFocusable(true);2.view.setFocusableInTouchMode(true);然后调用 requestFocus()即可获取焦点。Android View如何获取焦点本回答被提问者采纳
android 怎么在代码中判断edittext有没有获取焦点?
edittext 获取焦点时候 提示“获取焦点”
edittext 失去焦点时候提示“失去焦点”
@Override
public void onFocusChange(View v, boolean hasFocus)
if(hasFocus)//获得焦点
else//失去焦点
); 参考技术A 直接添加listener就行了;
editText.setOnFocusChangeListener(new OnFocusChangeListener()
@Override
public void onFocusChange(View v, boolean hasFocus)
if (hasFocus)
Log.i("test", "获得焦点");
else
Log.i("test", "失去焦点")
);
以上是关于Android View如何获取焦点的主要内容,如果未能解决你的问题,请参考以下文章
android 怎么在代码中判断edittext有没有获取焦点?