我的设计有问题。让我解释。
我在顶部有一个带有一些文本行的 TextView。然后我有一个带有按钮、ScrollView 和按钮的布局。我想在按钮之间放置 ScrollWiew。问题是当我有很多 Scroll 项目时,一切都很好,就像案例 1 一样。但是当我只有几个项目时,它们看起来像案例 2。但我希望它们像案例 3 一样。我希望按钮和 ScrollView 占据底部所需的空间,而 textView 占据剩余空间。顺便说一句,我希望始终显示文本视图中的这些行,因此文本视图的最小空间受这些行的限制。
我想只使用 XML 来做到这一点。
我的 XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/myText1"
android:textColor="@color/white"
android:textSize="28dip" />
<TextView
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="12345"
android:textColor="@color/white"
android:textSize="28dip" >
</TextView>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"
android:orientation="vertical" >
<Button
android:id="@+id/btn_add"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:gravity="left|center_vertical"
android:text="@string/add_text" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:orientation="vertical" >
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:background="@color/white"
android:gravity="left|center_vertical"
android:paddingRight="20dp"
android:text="1"
android:textColor="@color/black" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:background="@color/white"
android:gravity="left|center_vertical"
android:paddingRight="20dp"
android:text="2"
android:textColor="@color/black" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:gravity="left|center_vertical"
android:paddingRight="20dp"
android:text="3"
android:textColor="@color/black" />
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/btn_cancel"
android:layout_height="wrap_content"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:text="@string/cancel" />
</LinearLayout>
我尝试使用RelativeLayout,但我猜出了点问题。因为我得到了同样的结果。