
在android项目中,一进入一个页面, EditText默认就会自动获取焦点。使用如下的方法可以让EditText无法获取焦点。
解决之道:在EditText的父级控件中设置下面的属性
Android:focusable="true"
android:focusableInTouchMode="true"
在window7平台,android studio开发工具下,步骤如下。
1、打开android sutdio并创建一个项目,如下图:
2、打开界面的布局文件,在布局文件中增加一个Edittext的空间,并在EditText的父控件中设置如下属性,即可让EditText无法获取焦点,如下图:
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 />的控件有效。
可以通过下面的代码来实现Android自动d出软键盘:
edittextrequestFocus(); //edittext是一个EditText控件
Timer timer = new Timer(); //设置定时器
timerschedule(new TimerTask() {
@Override
public void run() { //d出软键盘的代码
InputMethodManager imm = (InputMethodManager)getSystemService(ContextINPUT_METHOD_SERVICE);
immshowSoftInput(edittext, InputMethodManagerRESULT_SHOWN);
immtoggleSoftInput(InputMethodManagerSHOW_FORCED,InputMethodManagerHIDE_IMPLICIT_ONLY);
}
}, 300); //设置300毫秒的时长
说明:同样是在写Techo Lite时遇到的问题。希望程序可以自动d出软键盘,可是尝试了各种办法都没有效果。问题的原因似乎是必须等待UI绘制完成后d出软键盘的代码才会有效。于是就采用了上面的方法。需要注意的是,在此之前必须让edittext获取焦点,不然也是无效的。
以上就是关于android开发怎么让edittext无法获取焦点全部的内容,包括:android开发怎么让edittext无法获取焦点、Edittext 怎么重新获得焦点、android 如何让软键盘自动d出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)