会存在这样一种情况,当进入一个Activity,而这个Activity中有EditText的时候,会自动获取焦点并弹出软键盘。
有时候这样没什么问题,还挺方便的。但有时候这种体验又并不符合公司或者客户的要求。
禁止这个效果也是非常简单的,直接给EditText的父控件添加两个属性就可以拦截掉这个自动获取焦点的动作。
android:focusable="true" android:focusableInTouchMode="true"
示例代码:
<!--搜索框-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="6dp"
android:layout_marginLeft="60dp"
android:layout_marginRight="40dp"
android:layout_marginTop="6dp"
android:background="@drawable/search_title_bg"
android:focusable="true"
android:focusableInTouchMode="true">
<!--搜索输入框-->
<EditText
android:id="@+id/et_search"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="35dp"
android:layout_marginTop="5dp"
android:background="@null"
android:cursorVisible="false"
android:hint="搜索本地或书城"
android:maxLines="1"
android:textColor="@color/text_deepGray"
android:textColorHint="@color/text_lightGray"
android:textSize="14sp" />
<!--搜索按钮-->
<ImageView
android:id="@+id/iv_search"
android:layout_width="30dp"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_marginRight="5dp"
android:padding="4dp"
android:src="@drawable/search_2" />
</RelativeLayout>