解决之道:在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> |
查阅了很多资料后,发现以下方法最简单:
在xml中,在EditText控件之前
加入
代码如下 | 复制代码 |
<LinearLayout android:id="@+id/linearLayout_focus" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="0px" android:layout_height="0px"/> |
这是一个虚假的LinearLayout,不会显示的,但是会抢走焦点
时间: 2024-10-24 04:46:50