ScrollView隐藏了一些子布局

时间:2014-12-22 18:36:05

标签: android android-layout

我想在ScrollView内部设置多个布局。当然ScrollView只能包含一个子布局,所以这就是我所做的:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

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

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

            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center_horizontal"
                android:minHeight="50dp"
                android:text="Top layout" />
        </LinearLayout>

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

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="bottom layout"
                android:gravity="center_horizontal" />
        </LinearLayout>

    </LinearLayout>
</ScrollView>

基本上我有一个LinearLayout包含另外两个LinearLayout s(&#34; top&#34;&#34; bottom&#34;)。

我希望顶部布局尽可能多占用空间,将底部布局留在最底部。

问题:通过在任何地方设置android:layout_height="match_parent",顶部布局占用所有空间,底部布局不会出现。

我该如何解决?

编辑:保持布局高度固定不是我想要的。尺寸必须能够垂直延伸。

3 个答案:

答案 0 :(得分:1)

您将顶部布局的高度设置为match_parent。这就是为什么它将Bottom布局推离屏幕的原因。请改用layout_height="0dp"layout_weight="1"

答案 1 :(得分:0)

试试这个:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/scrollView" >

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

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_gravity="top|center"
                android:layout_height="472dp" >

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:text="Medium Text"
                    android:id="@+id/textView" />
            </LinearLayout>

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_gravity="bottom|center"
                android:layout_height="100dp" >

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:text="Medium Text"
                    android:id="@+id/textView4" />
            </LinearLayout>
        </LinearLayout>
    </ScrollView>
</RelativeLayout>

答案 2 :(得分:0)

herr你需要什么

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">

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

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

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center_horizontal"
                    android:minHeight="50dp"
                    android:text="Top layout" />
            </LinearLayout>

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

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="bottom layout"
                    android:gravity="center_horizontal" />
            </LinearLayout>

        </LinearLayout>
    </ScrollView>
第一个子布局中的

需要添加 android:layout_weight =&#34; 1&#34;