Android 頁面中有 EditText ,進入時取消自動彈出鍵盤
Android 畫面裡的 EditText 被 Focus 時
會自動彈出鍵盤
這是方便使用者習慣的設計
不過筆者在開發時發現
有時候方便過頭了
原因
一開始進入有 EditText 的頁面時
EditText 會自動 Focus 及彈出鍵盤
這就會造成困懮
因為使用者進入頁面時
不一定是要輸入資料
可能只是看資料而已
而且鍵盤會佔住一大半的畫面
解決方法一(失敗)
網路上許多解答都說在最外層的 Element
加上兩個屬性
1
2
|
android:focusable="true" android:focusableInTouchMode="true" |
即可取消自動 Focus
避免彈出鍵盤
不過筆者試了好幾次都是失敗
設定後不只 Focus 被取消
連 EditText 都不能點
猜想可能是 Android 版本不同的關係
解決方法二(成功)
後來轉一個方向
朝彈出鍵盤下手
找到一個 windowSoftInputMode 屬性
可以控制鍵盤的狀態
就算進入頁面 EditText 被 Focus
鍵盤也不會彈出來
AndroidManifest.xml
1
2
3
4
|
< activity android:name = ".MainActivity" android:label = "@string/title_activity_main" android:windowSoftInputMode = "stateHidden" > |