码迷,mamicode.com
首页 > 移动开发 > 详细

Android 頁面中有 EditText ,進入時取消自動彈出鍵盤

时间:2014-09-15 15:55:29      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:android   style   http   color   使用   div   sp   cti   on   

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" >

修改前,進入頁面會彈出鍵盤
bubuko.com,布布扣

修改後,進入頁面不會彈出鍵盤
bubuko.com,布布扣

點擊 EditText 才會彈出鍵盤
bubuko.com,布布扣

Android 頁面中有 EditText ,進入時取消自動彈出鍵盤

标签:android   style   http   color   使用   div   sp   cti   on   

原文地址:http://www.cnblogs.com/qhyhao/p/3972866.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!