使用内部带有三个LinearLayouts的ScrollView

时间:2014-07-09 08:04:52

标签: android xml android-layout

我的Android项目的.xml文件出现问题。 特别是,我需要在屏幕的主要部分有一个Scroll View,下面是一个页脚。 ScrollView是LinearLayout的父级,它将三个LinearLayout保留在里面。 第一个两个LinearLayout被正确显示,但第三个从未显示过。

我不明白它发生的原因:如果我把第三个LinearLayout放在第一个位置,每个人都会被正确显示。

这是我的代码:

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

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

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

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

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="AppInfo"
                    android:padding="5dp"
                    android:id="@+id/bread" />

                <HorizontalScrollView
                    android:id="@+id/horizontal_scroll"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:fillViewport="true">

                    <LinearLayout
                        android:id="@+id/layout_image_container"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        >

                    </LinearLayout>

                </HorizontalScrollView>

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:background="#ffffffff"
                android:gravity="fill_horizontal"
                android:layout_gravity="top"
                android:id="@+id/attivita_linear"
                android:padding="10dp"
                android:isScrollContainer="true">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Nome Attività"
                    android:id="@+id/textView_nome"
                    android:layout_gravity="center_vertical|center_horizontal"
                    android:textSize="30dp"
                    android:paddingBottom="35dp" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Indirizzo:  "
                    android:id="@+id/textView_indirizzo"
                    android:textSize="20dp"
                    android:textIsSelectable="false"
                    android:paddingBottom="5dp" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Telefono:  "
                    android:id="@+id/textView_tel"
                    android:textSize="20dp"
                    android:textIsSelectable="false"
                    android:paddingBottom="5dp" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Email:  "
                    android:id="@+id/textView_email"
                    android:textSize="20dp"
                    android:textIsSelectable="false"
                    android:paddingBottom="5dp" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="www:  "
                    android:id="@+id/textView_www"
                    android:textSize="20dp"
                    android:textIsSelectable="false" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Descrizione:  "
                    android:id="@+id/textView_descrizione"
                    android:textSize="20dp"
                    android:textIsSelectable="false" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:background="#000000"
                android:gravity="fill_horizontal"
                android:layout_gravity="top"
                android:id="@+id/attivita_buttons"
                android:padding="10dp"
                android:isScrollContainer="true">

                <ImageButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_action_call"
                    android:background="@drawable/ic_action_call"
                    android:contentDescription="prova" />

                <ImageButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_action_call"
                    />

                <ImageButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_action_call"
                    />

            </LinearLayout>

        </LinearLayout>

    </ScrollView>

    <RelativeLayout
        android:id="@+id/footer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:background="@drawable/cola">
        </FrameLayout>

    </RelativeLayout>

</RelativeLayout>
希望你能帮助我。

任何答案都将不胜感激。

2 个答案:

答案 0 :(得分:0)

将以上属性设置为scrollview

<ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:above="@+id/footer">

您的页脚视图覆盖了ScrollView的底部部分。将ScrollView设置在其上方可以滚动整个列表。

答案 1 :(得分:0)

您也可以使用LinearLayout轻松完成此操作。

注意: textSize值总是以“sp”代替“dp”,因此查看此Link

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

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

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

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="AppInfo"
                    android:padding="5dp"
                    android:id="@+id/bread" />

                <HorizontalScrollView
                    android:id="@+id/horizontal_scroll"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:fillViewport="true">

                    <LinearLayout
                        android:id="@+id/layout_image_container"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal">

                    </LinearLayout>

                </HorizontalScrollView>

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:background="#ffffffff"
                android:gravity="fill_horizontal"
                android:layout_gravity="top"
                android:id="@+id/attivita_linear"
                android:padding="10dp"
                android:isScrollContainer="true">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Nome Attività"
                    android:id="@+id/textView_nome"
                    android:layout_gravity="center_vertical|center_horizontal"
                    android:textSize="30sp"
                    android:paddingBottom="35dp" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Indirizzo:  "
                    android:id="@+id/textView_indirizzo"
                    android:textSize="20sp"
                    android:textIsSelectable="false"
                    android:paddingBottom="5dp" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Telefono:  "
                    android:id="@+id/textView_tel"
                    android:textSize="20sp"
                    android:textIsSelectable="false"
                    android:paddingBottom="5dp" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Email:  "
                    android:id="@+id/textView_email"
                    android:textSize="20sp"
                    android:textIsSelectable="false"
                    android:paddingBottom="5dp" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="www:  "
                    android:id="@+id/textView_www"
                    android:textSize="20sp"
                    android:textIsSelectable="false" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Descrizione:  "
                    android:id="@+id/textView_descrizione"
                    android:textSize="20sp"
                    android:textIsSelectable="false" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:background="#000000"
                android:gravity="fill_horizontal"
                android:layout_gravity="top"
                android:id="@+id/attivita_buttons"
                android:padding="10dp"
                android:isScrollContainer="true">

                <ImageButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_action_call"
                    android:background="@drawable/ic_action_call"
                    android:contentDescription="prova" />

                <ImageButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_action_call"/>

                <ImageButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_action_call"/>

            </LinearLayout>

        </LinearLayout>

    </ScrollView>

    <RelativeLayout
        android:id="@+id/footer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:background="@drawable/cola">
        </FrameLayout>

    </RelativeLayout>

</LinearLayout>