2010-03-12 45 views
12

我有一個佈局,幾乎可以做我想要的。關於底部按鈕只有一個錯誤。我應該始終保持在最低點。但是每當我調出軟鍵盤時,按鈕都會顯示在鍵盤上方。這不是我想要的,但它應該被鍵盤覆蓋。請驗證我的佈局:底部按鈕不斷出現在鍵盤上

此外,如果您可以評論佈局的構建方式,我會很高興。

感謝, steff

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical"> 

<LinearLayout android:id="@+id/l_layout_tags" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 
    <TextView 
     android:text="TAGS:" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
    <AutoCompleteTextView android:id="@+id/actv_tags" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:imeOptions="actionDone" /> 
    <ImageButton android:id="@+id/btn_add_tag" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@android:drawable/ic_input_add" 
     android:onClick="addTag"/> 
</LinearLayout> 

<ScrollView android:id="@+id/sv_scroll_contents" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/l_layout_tags" 
    android:scrollbarFadeDuration="2000" > 
    <TableLayout android:id="@+id/t_layout_contents" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:stretchColumns="1" 
     android:paddingRight="5dip"> 
     <TableRow android:id="@+id/tr_template"> 
      <ImageView android:id="@+id/iv_blank" 
       android:src="@android:color/transparent" /> 
      <EditText android:id="@+id/et_content1" 
       android:gravity="top" 
       android:maxWidth="200dp" 
       android:imeOptions="actionDone" /> 
     </TableRow> 
    </TableLayout> 
</ScrollView> 

<LinearLayout android:id="@+id/l_layout_media_btns" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:layout_centerHorizontal="true" 
    android:layout_below="@id/sv_scroll_contents" > 
    <ImageButton android:id="@+id/btn_camera" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@android:drawable/ic_menu_camera" 
     android:onClick="takePicture" /> 
    <ImageButton android:id="@+id/btn_video" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@android:drawable/ic_menu_camera" /> 
    <ImageButton android:id="@+id/btn_audio" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@android:drawable/ic_btn_speak_now" /> 
    <ImageButton android:id="@+id/btn_sketch" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@android:drawable/ic_menu_edit" /> 
</LinearLayout> 

<ImageButton android:id="@+id/btn_save_note" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:src="@android:drawable/ic_menu_upload" /> 

</RelativeLayout> 

回答

51

添加android:windowSoftInputMode="adjustPan"在AndroidManifest.xml中的活動代碼。

這樣,軟件鍵盤不會調整您的佈局,並且您的按鈕將保持在它下面。 看一看here可以更好地瞭解不同的軟鍵盤模式。

+0

太棒了,就是這樣做的。謝謝你的幫助。 – stfn 2010-03-13 16:39:16

+0

你可以評論佈局本身嗎?它是完全多餘的嗎? 謝謝,隊友 – stfn 2010-03-14 09:42:53

+0

還有一件事:當我填充自動調整大小的EditText(我想要的)時,它開始被前面提到的按鈕覆蓋。 如何修改佈局使按鈕保持在底部而不覆蓋任何東西? – stfn 2010-03-14 09:56:12

1

我有類似的問題。我必須始終在屏幕底部顯示一個按鈕。我解決了鍵盤按下面的方式出現的問題:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:background="@color/white" 
    android:gravity="center_horizontal" 
    > 
     <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/white" 
     android:layout_gravity="center" 
     android:id="@+id/ff" 
     > 
       ....... 
     </ScrollView> 

     <LinearLayout android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1"> 
      <TextView 
      android:id="@+id/txtSigninProblem" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"   
      android:layout_below="@+id/ff" 
      android:layout_gravity="bottom|center_horizontal"   
      android:text="Problem Signing in?" 
      /> 
     </LinearLayout> 
</LinearLayout> 
相關問題