標題:
Android App - 軟鍵盤不蓋過 EditText
[打印本頁]
作者:
admin
時間:
2012-7-29 09:18
標題:
Android App - 軟鍵盤不蓋過 EditText
當畫面含EditText 於底部, 如 layout 設定不好, 從底部彈出的軟鍵盤會蓋過EditText , 看不到EditText , 你只有盲打了. 以下的main.xml 就沒有出現這問題
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Spinner
android:id="@+id/spinner2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Spinner
android:id="@+id/spinner3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<ListView
android:id="@+id/android:list"
android:layout_width="match_parent"
android:layout_height="10dip" android:layout_weight="1"/>
<TextView
android:id="@+id/android:empty"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:text="暫時未有任何資料可顯示" android:textSize="16dp" android:textColor="#FFFFFF" android:layout_weight="1"/>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_weight="0">
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:layout_weight="1"
android:hint="在此輸入搜尋字" />
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_menu_search" /></LinearLayout>
</LinearLayout>
複製代碼
相關顯示
[attach]1034[/attach]
重點是 ListView 的
height 不能採用
MATCH_PARENT
, 因為
MATCH_PARENT
會令
ListView
佔用了它
parent 的所有空間, 因此
從底部彈出的軟鍵盤會蓋過EditText, 我們可以隨意在 height 設定一個數字, 例如10dip, 我們不會担心
ListView
顯示高度真的是
10dip, 因為我們把它的 weight 設定為1, 它便會佔用所有畫面多出來的空間.
weight 主要是控制物件如何佔用多出來的空間, 我們不想包含著editText1及imageButton1的
linearLayout2, 擴張去佔用空間, 需要把
weight
設定為
0. 而而我們想
ListView
佔用多出來的空間, 因此把 weight 設定為 1.
歡迎光臨 How2Do (http://forum.how2do.com.hk/)
Powered by Discuz! 7.2