Android 通過父佈局搶佔Edittext焦點實現剛進入Activity不彈出軟鍵盤

Android 進入Activity禁止彈出軟鍵盤輸入法及stateHidden和stateAlwaysHidden的區別這篇文章中我們通過設置Activity的android:windowSoftInputMode屬性爲stateHidden或者stateAlwaysHidden實現了進入Activity不馬上彈出軟鍵盤的功能,今天我們介紹另一種方法,通過父佈局搶佔Edittext焦點,從而不然軟鍵盤彈出。

實現代碼如下所示

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:focusableInTouchMode="true"
    android:focusable="true">
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

馬上在我的魅族MX5手機上運行一下,發現軟鍵盤是收起來了,但是卻是在彈出後馬上又收起來的。看起來就是軟鍵盤閃了一下馬上消失,這樣的用戶體驗是很不好的。

既然這樣的體驗不好爲什麼網上一搜還是有很多人推薦這樣的方法,唯一的可能就是他們看到的結果和我不一樣,他們的手機上的運行結果可能確實是軟鍵盤沒有彈出來。

我馬上用用Android模擬器試了下,發現模擬器上確實未彈出軟鍵盤,不像在MX5手機上那樣彈出又馬上消失。

總結

這種方法並不能保證對所有型號手機使用,所以不推薦使用。還是推薦Android官方推薦的方法,通過設置android:windowSoftInputMode屬性來實現,具體參考這篇文章Android 進入Activity禁止彈出軟鍵盤輸入法及stateHidden和stateAlwaysHidden的區別

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章