zoukankan      html  css  js  c++  java
  • 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" >

    修改前,進入頁面會彈出鍵盤

    修改後,進入頁面不會彈出鍵盤

    點擊 EditText 才會彈出鍵盤

  • 相关阅读:
    第03组 Beta冲刺(2/5)
    2019 SDN上机第6次作业
    第03组 Beta冲刺(1/5)
    2019 SDN上机第5次作业
    SDN课程阅读作业(2)
    2019 SDN上机第4次作业
    第05组 团队Git现场编程实战
    第05组 团队项目-需求分析报告
    团队项目-选题报告
    第07组 Alpha事后诸葛亮
  • 原文地址:https://www.cnblogs.com/qhyhao/p/3972866.html
Copyright © 2011-2022 走看看