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,不會顯示的,但是會搶走焦點


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM