Android 如何让EditText不自动获取焦点
2016-02-27 10:42
591 查看
在项目中,一进入一个页面, EditText默认就会自动获取焦点。
那么如何取消这个默认行为呢?
在网上找了好久,有点 监听软键盘事件,有点 调用 clearFouse()方法,但是测试了都没有! xml中也找不到相应的属性可以关闭这个默认行为
解决之道:在EditText的父级控件中找一个,设置成
android:focusable="true"
android:focusableInTouchMode="true"
这样,就把EditText默认的行为截断了!
<LinearLayout
style="@style/FillWrapWidgetStyle"
android:orientation="vertical"
android:background="@color/black"
android:gravity="center_horizontal"
android:focusable="true"
android:focusableInTouchMode="true"
>
<ImageView
android:id="@+id/logo"
style="@style/WrapContentWidgetStyle"
android:background="@drawable/dream_dictionary_logo"
/>
<RelativeLayout
style="@style/FillWrapWidgetStyle"
android:background="@drawable/searchbar_bg"
android:gravity="center_vertical"
>
<EditText
android:id="@+id/searchEditText"
style="@style/WrapContentWidgetStyle"
android:background="@null"
android:hint="Search"
android:layout_marginLeft="40dp"
android:singleLine="true"
/>
</RelativeLayout>
</LinearLayout>
来自:http://blog.csdn.net/woshicaixianfeng/article/details/7261718 灰常感谢这位同学。。。
还有一个方法也可以非常简单的实现这个功能:
EditText对象的clearFocus();
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editMsgView.getWindowToken(), 0);(关闭软键盘。。。)
那么如何取消这个默认行为呢?
在网上找了好久,有点 监听软键盘事件,有点 调用 clearFouse()方法,但是测试了都没有! xml中也找不到相应的属性可以关闭这个默认行为
解决之道:在EditText的父级控件中找一个,设置成
android:focusable="true"
android:focusableInTouchMode="true"
这样,就把EditText默认的行为截断了!
<LinearLayout
style="@style/FillWrapWidgetStyle"
android:orientation="vertical"
android:background="@color/black"
android:gravity="center_horizontal"
android:focusable="true"
android:focusableInTouchMode="true"
>
<ImageView
android:id="@+id/logo"
style="@style/WrapContentWidgetStyle"
android:background="@drawable/dream_dictionary_logo"
/>
<RelativeLayout
style="@style/FillWrapWidgetStyle"
android:background="@drawable/searchbar_bg"
android:gravity="center_vertical"
>
<EditText
android:id="@+id/searchEditText"
style="@style/WrapContentWidgetStyle"
android:background="@null"
android:hint="Search"
android:layout_marginLeft="40dp"
android:singleLine="true"
/>
</RelativeLayout>
</LinearLayout>
来自:http://blog.csdn.net/woshicaixianfeng/article/details/7261718 灰常感谢这位同学。。。
还有一个方法也可以非常简单的实现这个功能:
EditText对象的clearFocus();
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editMsgView.getWindowToken(), 0);(关闭软键盘。。。)
相关文章推荐
- Android即时通讯--仿QQ即时聊天:(二)闪屏页及登录页面的实现
- 你还在问android横竖屏切换的生命周期?
- Android文件下载之进度检测
- Android 中 Service AIDL使用
- android创建SQlite数据库和表格详解
- Android即时通讯--仿QQ即时聊天:(一)初识Socket
- Android-实现底部切换标签(fragment)
- 详解Android中AsyncTask的使用
- android管理SD卡 mksdcard
- Android 中的DisplayMetrics类的用法
- android 打造变化多端的SeekBar(垂直和水平)
- xamarin.forms 版本自动更新(针对android)
- android:ListView缓存机制及BaseAdapter的三重境界(逗比式,普通式,文艺式)
- Android 最火的快速开发框架XUtils
- Android如何定制化自己的开关机动画、开关机铃声
- android 让TextView自带滚动条
- Android本地数据安全尝试(中)——Conceal
- 浅谈Android App开发中Fragment的创建与生命周期
- android开发 不注意的异常
- Android如何查看应用签名信息