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