背景:给新屏幕添加了一个搜索的功能,但是一进入屏幕就弹出键盘,影响用户操作。
原理:使EditText失去焦点,禁止弹出键盘。
方法:在其父控件添加如下属性。
android:focusable="true" android:focusableInTouchMode="true"
举例:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ll_search" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <RelativeLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:focusable="true" android:focusableInTouchMode="true" > <EditText android:id="@+id/edt_search" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@null" android:hint="@string/str_input_hint" android:paddingLeft="10dp" android:paddingRight="20dp" android:singleLine="true" /> <ImageView android:id="@+id/iv_delete" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:src="@drawable/delete" /> </RelativeLayout> <Button android:id="@+id/btn_search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/str_search" /> </LinearLayout>