2014-03-27 47 views
0

我使用下面的佈局如何修改顯示鍵盤時顯示輸入欄的佈局?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:orientation="vertical" 
       android:padding="10dp" 
       android:isScrollContainer="true"> 

     <TextView 
      android:id="@+id/wizard4_title" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:paddingBottom="10dp" 
      android:scrollbars="vertical" 
      android:text="@string/wizard4_title" 
      android:textColor="#0088cc" 
      android:textSize="20sp" 
      android:textStyle="bold" /> 
    <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_marginTop="0dp" 
      android:orientation="vertical" 
      android:layout_weight="1"> 
     <TextView 
      android:id="@+id/wizard4_text1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:gravity="fill_horizontal" 
      android:scrollbars="vertical" 
      android:text="@string/wizard4_text1" 
      android:textSize="18sp" /> 
     <EditText 
      android:id="@+id/wizard4_name" 
      android:hint="@string/wizard4_name_hint" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      /> 
     <TextView 
      android:id="@+id/wizard4_text3" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:gravity="fill_horizontal" 
      android:scrollbars="vertical" 
      android:text="@string/wizard4_text3" 
      android:textSize="18sp" /> 
     <EditText 
      android:id="@+id/wizard4_address" 
      android:hint="@string/wizard4_address_hint" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      />   

    </LinearLayout> 
    <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp"> 
     <Button 
       android:id="@+id/wizard4_btn_back" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/wizard_back" /> 
     <Button 
       android:id="@+id/wizard4_btn_next" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/wizard_next" /> 
    </LinearLayout> 
</LinearLayout> 

據顯示爲ViewAnimator部分:

viewAnimator = new ViewAnimator(this); 
... 
View step4 = View.inflate(getBaseContext(), R.layout.wizard4, null); 
viewAnimator.addView(step4); 
setContentView(viewAnimator); 

當用戶點擊第二輸入字段(wizard4_address),軟鍵盤是顯示器,其隱藏了輸入領域。當顯示鍵盤時,當前按鈕wizard4_btn_nextwizard4_btn_back也會顯示,我不需要它。但我應該讓他們始終處於最底層。

回答

0

試試這個。希望你能得到你想要的。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:orientation="vertical" 
    android:padding="10dp" > 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" > 

      <TextView 
       android:id="@+id/wizard4_title" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:paddingBottom="10dp" 
       android:scrollbars="vertical" 
       android:text="@string/wizard4_title" 
       android:textColor="#0088cc" 
       android:textSize="20sp" 
       android:textStyle="bold" /> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_marginTop="0dp" 
       android:layout_weight="1" 
       android:orientation="vertical" > 

       <TextView 
        android:id="@+id/wizard4_text1" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:clickable="true" 
        android:gravity="fill_horizontal" 
        android:scrollbars="vertical" 
        android:text="@string/wizard4_text1" 
        android:textSize="18sp" /> 

       <EditText 
        android:id="@+id/wizard4_name" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/wizard4_name_hint" /> 

       <TextView 
        android:id="@+id/wizard4_text3" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:clickable="true" 
        android:gravity="fill_horizontal" 
        android:scrollbars="vertical" 
        android:text="@string/wizard4_text3" 
        android:textSize="18sp" /> 

       <EditText 
        android:id="@+id/wizard4_address" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/wizard4_address_hint" /> 
      </LinearLayout> 
     </LinearLayout> 
    </ScrollView> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="10dp" 
    android:layout_marginTop="10dp" > 

    <Button 
     android:id="@+id/wizard4_btn_back" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="@string/wizard_back" /> 

    <Button 
     android:id="@+id/wizard4_btn_next" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="@string/wizard_next" /> 
</LinearLayout> 

+0

我不能只用'ScrollView'取代'LinearView',因爲'滾動視圖只能有一個child' –

+0

如果我添加它作爲父母,然後按鍵位置有所改變(它們是不在底部)。 –

+0

更新了代碼。 – prabhu