2014-03-27 49 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