天天看點

android如何不自動擷取焦點,Android 如何讓EditText不自動擷取焦點

在項目中,一進入一個頁面, EditText預設就會自動擷取焦點。

那麼如何取消這個預設行為呢?

在網上找了好久,有點 監聽軟鍵盤事件,有點 調用 clearFouse()方法,但是測試了都沒有! xml中也找不到相

應的屬性可以關閉這個預設行為

解決之道:在EditText的父級控件中找一個,設定成

android:focusable="true"

android:focusableInTouchMode="true"

這樣,就把EditText預設的行為截斷了!

style="@style/FillWrapWidgetStyle"

android:orientation="vertical"

android:background="@color/black"

android:gravity="center_horizontal"

android:focusable="true"

android:focusableInTouchMode="true"

>

android:id="@+id/logo"

style="@style/WrapContentWidgetStyle"

android:background="@drawable/dream_dictionary_logo"

/>

style="@style/FillWrapWidgetStyle"

android:background="@drawable/searchbar_bg"

android:gravity="center_vertical"

>

android:id="@+id/searchEditText"

style="@style/WrapContentWidgetStyle"

android:background="@null"

android:hint="Search"

android:layout_marginLeft="40dp"

android:singleLine="true"

/>

還有一個方法也可以非常簡單的實作這個功能:

EditText對象的clearFocus();

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editMsgView.getWindowToken(), 0);(關閉軟鍵盤。。。)