2

如果列表比视图大,我正在尝试将按钮锚定到视图的底部以及列表的底部。

所以当列表小于屏幕时,我希望它们看起来像这样:

在此处输入图像描述

当更大时像这样:

在此处输入图像描述在此处输入图像描述

我知道我应该使用RelativeLayout将按钮放置在页面底部,android:layout_alignParentBottom="true"但是当我还添加android:layout_below="@id/table_wrapper"按钮时,如果内容小于视图,我的按钮高度会变得混乱:

在此处输入图像描述

有谁知道我怎么能做到这一点?

我的代码的简化版本:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/book_layout_whole"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">
    <ScrollView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:fillViewport="true">

        <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">
            <LinearLayout
                    android:id="@+id/table_wrapper"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">
                <LinearLayout
                        android:id="@+id/vertical_header_table"
                        android:layout_width="85dp"
                        android:layout_height="wrap_content"
                        android:orientation="vertical">
                    <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:text="Day"
                            android:gravity="center"/>
                    <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:text="Day"
                            android:gravity="center"/>
                    <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:text="Day"
                            android:gravity="center"/>
                    <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:text="Day"
                            android:gravity="center"/>
                    <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:text="Day"
                            android:gravity="center"/>
                    <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:text="Day"
                            android:gravity="center"/>
                    <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:text="Day"
                            android:gravity="center"/>
                </LinearLayout>

                <LinearLayout
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical">
                    <View
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:background="#444444"></View>
                    <View
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:background="#444444"></View>
                    <View
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:background="#444444"></View>
                    <View
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:background="#444444"></View>
                    <View
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:background="#444444"></View>
                    <View
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:background="#444444"></View>
                    <View
                            android:layout_width="wrap_content"
                            android:layout_height="40dp"
                            android:background="#444444"></View>
                </LinearLayout>
            </LinearLayout>
            <Button
                    android:text="load more"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/table_wrapper"
                    android:layout_alignParentBottom="true"
                    android:gravity="center"
                    android:padding="20dp"
                    />
        </RelativeLayout>
    </ScrollView>
</LinearLayout>

注1:

删除android:layout_below="@id/table_wrapper"将导致按钮始终位于屏幕底部,即使列表大于屏幕。

笔记2

添加layout_weight不起作用,因为我的视图大小是动态的。

4

2 回答 2

1

然后使用以下,它一定会帮助你,我已经测试过了!

      <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="bottom"
        android:layout_alignParentBottom="true"
        android:layout_below="@id/table_wrapper" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="20dp"
            android:text="load more" />
    </LinearLayout>
于 2013-07-15T18:44:06.523 回答
0

我不知道为什么我的帖子被乔治斯托克删除了

检查它 maclir 应该适合你:

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

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

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <LinearLayout
                android:id="@+id/table_wrapper"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:orientation="horizontal" >

                <LinearLayout
                    android:id="@+id/vertical_header_table"
                    android:layout_width="85dp"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:gravity="center"
                        android:text="Day" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:gravity="center"
                        android:text="Day" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:gravity="center"
                        android:text="Day" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:gravity="center"
                        android:text="Day" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:gravity="center"
                        android:text="Day" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:gravity="center"
                        android:text="Day" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:gravity="center"
                        android:text="Day" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >

                    <View
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:background="#444444" >
                    </View>

                    <View
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:background="#444444" >
                    </View>

                    <View
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:background="#444444" >
                    </View>

                    <View
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:background="#444444" >
                    </View>

                    <View
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:background="#444444" >
                    </View>

                    <View
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:background="#444444" >
                    </View>

                    <View
                        android:layout_width="wrap_content"
                        android:layout_height="40dp"
                        android:background="#444444" >
                    </View>
                </LinearLayout>
            </LinearLayout>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="5.5"
                android:orientation="vertical" >

                <Button
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:gravity="center"
                    android:padding="20dp"
                    android:text="load more" />
            </LinearLayout>
        </LinearLayout>
    </ScrollView>

</LinearLayout>
于 2013-07-15T19:19:46.397 回答