Android View如何获取焦点

本文详细介绍了Android应用中,当启动新Activity时,如果焦点落在EditText上会导致软键盘弹出遮挡界面的问题。通过在新Activity的onCreate()方法中设置其他控件为焦点,可以避免此问题。具体操作包括调用view的setFocusable(true)、setFocusableInTouchMode(true),然后调用requestFocus()方法。
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()即可获取焦点。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值