不要讓 Android edittext 自動focus

當我們的 layout 中存在 editText 時

常常一啟動就會在該欄位 focus

造成鍵盤會自動跳出

有時會覺得很煩

 

現在發現一個小撇步

只要在同一個 layout 中的某個 view 中

加入以下屬性,就可以騙過 layout 了

android:focusable=”true”
android:focusableInTouchMode=”true”

變成那個不會彈出鍵盤的 layout 自動 focus

但是他不會彈出鍵盤,所以沒差~~~XD

 

例如

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:orientation="vertical" >
       <LinearLayout
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:focusable="true" 
              android:focusableInTouchMode="true"
              android:gravity="center_vertical">

              <EditText
                     android:id="@+id/edittext_account"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:hint="@string/account_hint"
                     android:ems="10" >
              </EditText>
       </LinearLayout>
</LinearLayout>

如上

如果沒有在 LinearLayout中加入紅字屬性

每次打開 activity,EditText 就會被自動 focus,造成鍵盤自動打開

加了紅字就不會囉

About: Kaito


發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料