Edittext 怎么重新获得焦点

Edittext 怎么重新获得焦点,第1张

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 启动时不获得焦点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/10142568.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存