android去掉EditView的默认焦点问题

Posted 陈都

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"/>

这是一个虚假的LinearLayout,不会显示的,但是会抢走焦点



































以上是关于android去掉EditView的默认焦点问题的主要内容,如果未能解决你的问题,请参考以下文章

将焦点更改为 EditText Android

Android开发 EditView的开发记录

Android EditView用法小结

Android EditView用法小结

Android开发:如何实现点击TextView可直接编辑?

android黑色边框如何去掉