【发布时间】:2020-03-02 23:01:50
【问题描述】:
我正在尝试创建一个 Android 屏幕,它的 TableLayout 锚定在顶部,然后滚动视图填充中间,TableLayout 锚定在底部。我使用了带有 alignParentTop/alignParentBottom 的 RelativeLayout,底部的 TableLayout 出现了,但顶部的消失了。
是否可以将单独的部分锚定在顶部和底部,并在中间填充可滚动区域?想象一下顶部和底部的按钮栏,中间有可滚动的项目。这是我的布局,它很接近但不太有效。我还尝试使用 TableLayout 和 3 行,中间一行设置为 fill_parent 和 ScrollView,但也无法正常工作。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout01"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout
android:id="@+id/CategoryTable01"
android:stretchColumns="*"
android:background="#000000"
android:layout_height="80px"
android:layout_alignParentTop="true"
android:layout_width="fill_parent">
<TableRow
android:id="@+id/tr01"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:padding="10px"
android:layout_gravity="center_vertical|center_horizontal">
<TextView android:text="TOP1" android:textColor="#0000FF" android:layout_height="fill_parent" android:layout_gravity="fill_vertical" android:textStyle="bold" />
<TextView android:text="TOP2" android:textColor="#CCCCCC" android:layout_height="fill_parent" android:layout_gravity="fill_vertical" android:textStyle="bold" />
</TableRow>
</TableLayout>
<ScrollView android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout02"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableLayout
android:id="@+id/TableLayout01"
android:stretchColumns="*"
android:background="@drawable/gradient"
android:layout_height="wrap_content"
android:paddingLeft="20px"
android:layout_width="fill_parent">
<TableRow
android:id="@+id/TableRow01"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center_vertical|center_horizontal">
<TextView android:textColor="#FFFFFF"
android:textStyle="bold"
android:textSize="12dip"
android:text="Sample Line 1"></TextView>
</TableRow>
<TableRow
android:id="@+id/TableRow02"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center_vertical|center_horizontal">
<TextView android:textColor="#FFFFFF"
android:textSize="11dip"
android:text="Sample Line 2"></TextView>
</TableRow>
<TableRow
android:id="@+id/TableRow03"
android:layout_height="600px"
android:layout_width="wrap_content"
android:layout_gravity="center_vertical|center_horizontal">
<TextView android:textColor="#FFFF00"
android:textSize="11dip"
android:text="Sample Line 3"></TextView>
</TableRow>
</TableLayout>
</LinearLayout>
</ScrollView>
<TableLayout
android:id="@+id/CategoryTable02"
android:stretchColumns="*"
android:background="#000000"
android:layout_height="80px"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent">
<TableRow
android:id="@+id/tr02"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:padding="10px"
android:layout_gravity="center_vertical|center_horizontal">
<TextView android:text="ONE" android:textColor="#0000FF" android:layout_height="fill_parent" android:layout_gravity="fill_vertical" android:textStyle="bold" />
<TextView android:text="TWO" android:textColor="#CCCCCC" android:layout_height="fill_parent" android:layout_gravity="fill_vertical" android:textStyle="bold" />
<TextView android:text="THREE" android:textColor="#CCCCCC" android:layout_height="fill_parent" android:layout_gravity="fill_vertical" android:textStyle="bold" />
<TextView android:text="FOUR" android:textColor="#CCCCCC" android:layout_height="fill_parent" android:layout_gravity="fill_vertical" android:textStyle="bold" />
</TableRow>
</TableLayout>
</RelativeLayout>
感谢您的任何建议或帮助。
迈克尔
【问题讨论】:
-
你可以试试:layout_below, layout_above