• 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 才會彈出鍵盤

  • 相关阅读:
    KTorrent 2.1
    Krusader-双面板文件治理器
    VirtualBox 1.3.4
    QEMU 0.9.0 & QEMU Accelerator 1.3.0pre10
    Sweep:音频编辑器材
    USBSink-优盘同步备份东西
    玩转 MPlayer(1)
    玩转 MPlayer(2)
    活动目录之迁移
    再学 GDI+[26]: TGPPen 画笔对齐 SetAlignment
  • 原文地址:https://www.cnblogs.com/qhyhao/p/3972866.html
Copyright © 2020-2023  润新知