Android LinearLayout填充到屏幕底部

时间:2017-04-17 15:57:42

标签: android android-activity android-linearlayout

我有一个由以下内容组成的Android活动: FrameLayout> ScrollView> LinearLayout>的ListView

我的ListView是我的最后一个组件,我希望它的高度大小从前一个组件的结尾到屏幕的底部。 问题:很遗憾,现在它的尺寸只有高度尺寸只有1行的大小。

我已将所有layout_height设置为match_parent属性,但没有效果。

问题:您知道如何让我的ListView占据可用屏幕底部的所有高度空间吗?

谢谢!

XML

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="it.bitrack.fabio.bitrack.ScheduleView"
    android:layout_marginTop="60dp">

    <!-- TODO: Update blank fragment layout -->

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

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <TextView
                android:id="@+id/textView7"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="10dp"
                android:text="Select an asset"
                android:textStyle="bold|italic" />

            <Spinner
                android:id="@+id/assetSpinner"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="10dp"
                android:textStyle="bold|italic" />

            <LinearLayout
                android:id="@+id/assetBookingLinearLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/textView9"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:padding="10dp"
                    android:text="Booking schedule"
                    android:textStyle="bold|italic" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/textView12"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:padding="10dp"
                        android:text="From: "
                        android:textStyle="bold|italic" />

                    <TextView
                        android:id="@+id/fromDatetimeTextView"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="5dp"
                        android:text="Date and time" />

                    <ImageButton
                        android:id="@+id/setFromDatetimeImageButton"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="5dp"
                        android:src="@android:drawable/ic_menu_my_calendar" />

                    <TextView
                        android:id="@+id/textView13"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="10dp"
                        android:text="To: "
                        android:textStyle="bold|italic" />

                    <TextView
                        android:id="@+id/toDatetimeTextView"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="5dp"
                        android:text="Date and time" />

                    <ImageButton
                        android:id="@+id/setToDatetimeImageButton"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="5dp"
                        android:src="@android:drawable/ic_menu_my_calendar" />
                </LinearLayout>

                <Button
                    android:id="@+id/assetBookingButton"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Proceed with booking" />

            </LinearLayout>


            <LinearLayout
                android:id="@+id/assetBookingsLinearLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/textView8"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:padding="10dp"
                    android:text="Current bookings"
                    android:textStyle="bold|italic" />

                <ListView
                    android:id="@+id/assetBookingsListView"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" />
            </LinearLayout>

        </LinearLayout>>
    </ScrollView>

</FrameLayout>

1 个答案:

答案 0 :(得分:0)

使用此布局代码:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="60dp">

    <!-- TODO: Update blank fragment layout -->

    <ScrollView
        android:id="@+id/scrollview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <TextView
                android:id="@+id/textView7"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="10dp"
                android:text="Select an asset"
                android:textStyle="bold|italic" />

            <Spinner
                android:id="@+id/assetSpinner"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="10dp"
                android:textStyle="bold|italic" />

            <LinearLayout
                android:id="@+id/assetBookingLinearLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/textView9"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:padding="10dp"
                    android:text="Booking schedule"
                    android:textStyle="bold|italic" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/textView12"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:padding="10dp"
                        android:text="From: "
                        android:textStyle="bold|italic" />

                    <TextView
                        android:id="@+id/fromDatetimeTextView"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="5dp"
                        android:text="Date and time" />

                    <ImageButton
                        android:id="@+id/setFromDatetimeImageButton"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="5dp"
                        android:src="@android:drawable/ic_menu_my_calendar" />

                    <TextView
                        android:id="@+id/textView13"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="10dp"
                        android:text="To: "
                        android:textStyle="bold|italic" />

                    <TextView
                        android:id="@+id/toDatetimeTextView"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="5dp"
                        android:text="Date and time" />

                    <ImageButton
                        android:id="@+id/setToDatetimeImageButton"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="5dp"
                        android:src="@android:drawable/ic_menu_my_calendar" />
                </LinearLayout>

                <Button
                    android:id="@+id/assetBookingButton"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Proceed with booking" />

            </LinearLayout>

        </LinearLayout>
    </ScrollView>

    <LinearLayout
        android:id="@+id/assetBookingsLinearLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/scrollview"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textView8"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:text="Current bookings"
            android:textStyle="bold|italic" />

        <ListView
            android:id="@+id/assetBookingsListView"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>

</RelativeLayout>

一些建议:

  1. 不要在listview ...
  2. 中使用ScrollView
  3. 使用RelativeLayout作为根元素来对齐后面的视图 另一个。
  4. scrollView使用android:layout_height="wrap_content"和。{ android:fillViewport="true"
  5. 输出:

    enter image description here