Android取消EditText自动获取焦点默认行为
效果图
最近在通讯录新建联系人=中,一进入一个页面, EditText默认就会自动获取焦点,很是郁闷, 如何让EditText不自动获取焦点?
那么如何取消这个默认行为呢?
在网上找了好久,有点 监听软键盘事件,有点 调用 clearFouse()方法,但是测试了都没有! xml中也找不到相应的属性可以关闭这个默认行为
解决之道:在EditText的父级控件中找一个,设置成
android:focusable="true"
android:focusableInTouchMode="true"
demo.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:baselineAligned="false"
android:focusable="true"
android:focusableInTouchMode="true" >
<RelativeLayout
android:layout_width="250dp"
android:layout_height="wrap_content"
android:id="@+id/txtLayout"
android:layout_marginTop="20dp"
android:layout_centerHorizontal="true"
>
<EditText
android:layout_width="fill_parent"
android:layout_height="35dp"
android:id="@+id/editPhone"
android:phoneNumber="true"
android:text="@string/txtaddPhone"
android:textColor="#D8D8D8"
android:background="@drawable/txtupbg"
android:textSize="15dp"
/>
</RelativeLayout>
</RelativeLayout>