android去掉EditView的默认焦点问题

宝剑锋从磨砺出,梅花香自苦寒来。这篇文章主要讲述android去掉EditView的默认焦点问题相关的知识,希望能为你提供帮助。
解决之道:在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"/>
【android去掉EditView的默认焦点问题】这是一个虚假的LinearLayout,不会显示的,但是会抢走焦点



































    推荐阅读