Android布局问题

时间:2011-06-01 11:52:32

标签: android layout

我正在尝试创建一个简单的布局,但找不到一个方法来做到这一点。布局应该有3个元素:TextView在顶部,EditText(带有scrollview)在中间,按钮在底部。 我做了这个代码:

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

  <LinearLayout android:layout_weight="0.97"
  android:layout_height="wrap_content"
  android:layout_width="fill_parent"
  android:id="@+id/linearLayout18"
  android:orientation="vertical">
    <TextView  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"         
        android:text="Text:"
        android:gravity="center_vertical"/>

    <ScrollView android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <EditText 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:id="@+id/txtMessage"
        android:text=""/>

    </ScrollView>
    </LinearLayout>
    <LinearLayout
    android:layout_weight="0.03"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:id="@+id/linearLayout1"
    android:orientation="vertical">
        <Button 
        android:text="Next"
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />       
    </LinearLayout>
</LinearLayout>

但它给我这样的布局:Layout正如您所看到的,问题是EditText不会占用所有可用的垂直空间(一直到按钮)。怎么解决这个问题?

3 个答案:

答案 0 :(得分:1)

只需在android:fillViewport="true"

中使用ScrollView即可

答案 1 :(得分:0)

尝试relativelayout而不是线性这里是示例代码

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

  <RelativeLayout android:layout_height="wrap_content"
  android:layout_width="fill_parent"
  android:id="@+id/linearLayout18" android:layout_alignParentTop="true">
    <TextView  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"         
        android:text="Text:"
         android:id="@+id/textMessage"
        android:gravity="center_vertical" android:layout_alignParentTop="true"/>

    <ScrollView android:layout_width="fill_parent"
    android:layout_below="@+id/textMessage" android:layout_above="@+id/button1" android:scrollbars="horizontal|vertical" android:layout_height="fill_parent" android:fillViewport="true">

    <EditText 
        android:id="@+id/txtMessage"
        android:text="" android:layout_height="fill_parent" android:layout_width="fill_parent"/>

    </ScrollView>


        <Button 
        android:text="Next"
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"/>       
    </RelativeLayout>
</RelativeLayout>

答案 2 :(得分:0)

试试这个......这很完美......我在我的android工作室测试过它......这是你想要的相同布局....

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

    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Text:"
            android:id="@+id/textview1"
            android:layout_alignParentTop="true"/>


        <ScrollView android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:fillViewport="true"
            android:layout_above="@id/btn"
            android:layout_below="@id/textview1">

            <EditText
                android:layout_width="fill_parent"
                android:layout_height="match_parent"
                android:id="@+id/txtMessage"
                android:text=""/>

        </ScrollView>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/txtMessage"
        android:id="@+id/btn"
        android:text="Next"
        android:layout_alignParentBottom="true"/>

    </RelativeLayout>