2011-11-24 23 views
1

我一直在问在这里,否则我这个布局星期有问题,所以这个时候我会告诉什么,我需要一个画面:Android的布局:一个小窗口滚动和两个固定在底部

enter image description here

我想在屏幕下方的一个EditText和一个按钮总是(当键盘显示,他们必须出现在键盘上,而不是停留在键盘下)。剩余的免费屏幕必须是可滚动的TextView。

编辑:这是现在的代码,遵循罗曼征兆。一切都按预期工作,但滚动。 TextView必须是可滚动的,而不是。如何解决它?

<?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"> 

    <TextView 
     android:id="@+id/consola" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:scrollbars = "vertical" 
     android:height="0dip" 
     android:layout_weight="1.0"/> 

    <LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="bottom"> 

     <EditText 
     android:id="@+id/editText" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/> 

     <Button 
      android:text="Conectar" 
      android:id="@+id/boton" 
      android:label="@string/enviar_string" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 
     </Button> 
    </LinearLayout> 
</LinearLayout> 

回答

1

我终于找到了我自己的解决方案:

<?xml version="1.0" encoding="utf-8"?> 

<ScrollView 
android:id="@+id/scroller" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:height="0dip" 
android:layout_weight="1.0"> 

    <TextView 
     android:id="@+id/consola" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 

</ScrollView> 

<EditText 
    android:id="@+id/editText" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/> 

<LinearLayout 
android:orientation="horizontal" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:gravity="bottom"> 

    <Button 
     android:text="Conectar" 
     android:id="@+id/boton" 
     android:label="@string/enviar_string" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
    </Button> 
</LinearLayout> 

5

您的布局是太复杂了,这里是你应该做的事情的删节版:

LinearLayout width=fill_parent height=fill_parent orientation=vertical 
    TextView width=fill_parent height=0dip layout_weight=1.0 
    EditText width=fill_parent height=wrap_content 
    Button width=fill_parent height=wrap_content 

上的TextView的layout_weight是关键:它告诉您要父的LinearLayout给这个TextView所有剩余的空白空间(这也是为什么高度设置为0dip的原因)。

+1

好吧,我也包围的EditText和Button与第二LinearLayout中,让他们到底部设置重力。但是现在我想要包含这两个小部件的相同线性布局在显示时始终保持在键盘之上。我怎么做? –

相关问题