
Edittext 怎么重新获得焦点
<EditText id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:paddingBottom="4">
<requestFocus />
</EditText>
应该是最后一个 <requestFocus />的控件有效。
如果EditText位于布局底部的话,因为上面还有若干个组件,所有即使设置了Focusable属性得不到焦点,所以需要把前面的组件全部设置Focusable=“false”,这样就可以了。
如何让 EditText 在 Activity 启动时不获得焦点
在进入一个Activity时,如果这个Activity中有EditText,则这个EditText会自动获取焦点,然后就会d出软键盘,这样给用户体验不是很好。所以一般会通过代码控制让EditText不获取焦点。常用的方式如下,在Activity的布局文件中加上如下代码:
<!-- 输入焦点控制 -->
<LinearLayout
android:layout_width="0px"
android:layout_height="0px"
android:focusable="true"
android:focusableInTouchMode="true" />
在日前开发的一个项目中界面中除了EditText就是Spinner 和Button等空间,EditText 获取焦点以后,点击Spinner总是无法移除焦点:采取如下方式解决,
当点击Spinner时让EditText失去焦点即可:(见标红代码)
因此最好在新窗体创建时,最好在onCreate()方法中将焦点放在另一个view上 view使用requestFocus()焦点,但是如果让button或者textView之类控件直接使用requestFocus()方法,则无法获取焦点,焦点会依然在editText上。只能在使用View的requestFocus()方法之前调用下面2个方法,view才可获取焦点:viewsetFocusable(true);然后调用 requestFocus()即可获取焦点。
以上就是关于Edittext 怎么重新获得焦点全部的内容,包括:Edittext 怎么重新获得焦点、android怎么让处于布局底部的EditText得到焦点、如何让 EditText 在 Activity 启动时不获得焦点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)