Android中嵌套布局的ScrollView

时间:2013-07-11 09:22:20

标签: android android-layout

我想将ScrollView应用到我的整个屏幕上。但是scrollview只能容纳一个直接孩子。

我试过这个:

    <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#E9E0DB"
    android:fillViewport="true"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/dialogcreatemainlayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="20dp"
        android:background="@drawable/votes_bg"
        android:orientation="vertical"
        android:padding="5dp" >

        <LinearLayout
            android:id="@+id/dialogimage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginRight="5dip"
            android:baselineAligned="false"
            android:orientation="horizontal"
            android:padding="3dp" >

            <ImageView
                android:id="@+id/dialog_image"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:src="@drawable/dialog_image" />

            <ImageView
                android:id="@+id/profimage"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="10dp"
                android:src="@drawable/member_80" />

            <TextView
                android:id="@+id/username"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="10dp"
                android:layout_toRightOf="@id/profimage"
                android:text="By Hermoine - 2 days ago on Politics"
                android:textColor="#040404"
                android:textSize="12dp"
                android:textStyle="normal"
                android:typeface="sans" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/pub_arc_rem"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/dialogimage"
            android:orientation="horizontal"
            android:weightSum="3" >

            <Button
                android:id="@+id/btnPublish"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Publish"
                android:textSize="12dp"
                android:textStyle="normal" />

            <Button
                android:id="@+id/btnArchive"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Archive"
                android:textSize="12dp"
                android:textStyle="normal" />

            <Button
                android:id="@+id/btnRemove"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Remove"
                android:textSize="12dp"
                android:textStyle="normal" />
        </LinearLayout>

        <TextView
            android:id="@+id/dialog_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/pub_arc_rem"
            android:layout_marginTop="10dp"
            android:text="There Is Nothing Negative In Total Exploitation Of Natural Resources. What Say?"
            android:textColor="#343434"
            android:textSize="12dp" />

        <TextView
            android:id="@+id/dialog_desc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/dialog_title"
            android:layout_marginTop="10dp"
            android:text="I don&apos;t think you have to believe one or the other. I have personally met christian&apos;s who simply think the big bang is how god created the universe. I have also met atheist who believe that we don&apos;t have the ability to know how the universe began. I have."
            android:textColor="#343434"
            android:textSize="12dp" />

        <View
            android:id="@+id/topformline"
            android:layout_width="fill_parent"
            android:layout_height="0.5dp"
            android:layout_below="@+id/thumbnail"
            android:layout_marginBottom="5dp"
            android:layout_marginTop="6dp"
            android:background="@android:color/darker_gray"
            android:gravity="center" />

        <LinearLayout
            android:id="@+id/dialog_det"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="5dip" >

            <TextView
                android:id="@+id/title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignTop="@+id/list_image"
                android:layout_toRightOf="@+id/list_image"
                android:layout_weight="5"
                android:padding="5dip"
                android:text="Last Active: 6 days ago"
                android:textColor="#000000"
                android:textSize="10dp"
                android:textStyle="normal" />

            <ImageView
                android:id="@+id/list_image"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_alignParentRight="true"
                android:layout_weight="1"
                android:src="@drawable/member" />

            <TextView
                android:id="@+id/title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_weight="1"
                android:padding="5dip"
                android:text="8"
                android:textColor="#000000"
                android:textSize="10dp"
                android:textStyle="normal" />

            <ImageView
                android:id="@+id/list_image"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_alignParentRight="true"
                android:layout_marginLeft="10dp"
                android:layout_weight="1"
                android:src="@drawable/udebate_fav" />

            <TextView
                android:id="@+id/title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_weight="1"
                android:padding="5dp"
                android:text="64"
                android:textColor="#000000"
                android:textSize="10dp" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/mod_friend"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/dialogcreatemainlayout"
        android:layout_marginTop="10dp"
        android:orientation="horizontal"
        android:weightSum="2" >

        <Button
            android:id="@+id/btnAssignModerator"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Assign Moderator"
            android:textSize="12dp"
            android:textStyle="normal" />

        <Button
            android:id="@+id/btnInviteFriends"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Invite Friends"
            android:textSize="12dp"
            android:textStyle="normal" />
    </LinearLayout>

</ScrollView>

有人可以指导我吗?

感谢。

3 个答案:

答案 0 :(得分:2)

将内容包裹在Contanier内。一个来自FrameLayourLinearLayoutRelativeLayout

  <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#E9E0DB"
    android:fillViewport="true"
    android:orientation="vertical" >

  <LinearLayout
        android:id="@+id/container"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"  >

  <!-- your components -->

 </LinearLayout>
</ScrollView>

答案 1 :(得分:1)

以下是它的完成方式:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#E9E0DB"
        android:fillViewport="true"
        android:orientation="vertical" >


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

    <LinearLayout
            android:id="@+id/dialogcreatemainlayout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="20dp"
            android:background="@drawable/votes_bg"
            android:orientation="vertical"
            android:padding="5dp" >

        <LinearLayout
                android:id="@+id/dialogimage"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginRight="5dip"
                android:baselineAligned="false"
                android:orientation="horizontal"
                android:padding="3dp" >

            <ImageView
                    android:id="@+id/dialog_image"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:src="@drawable/dialog_image" />

            <ImageView
                    android:id="@+id/profimage"
                    android:layout_width="50dp"
                    android:layout_height="50dp"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="10dp"
                    android:src="@drawable/member_80" />

            <TextView
                    android:id="@+id/username"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="10dp"
                    android:layout_toRightOf="@id/profimage"
                    android:text="By Hermoine - 2 days ago on Politics"
                    android:textColor="#040404"
                    android:textSize="12dp"
                    android:textStyle="normal"
                    android:typeface="sans" />
        </LinearLayout>

        <LinearLayout
                android:id="@+id/pub_arc_rem"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/dialogimage"
                android:orientation="horizontal"
                android:weightSum="3" >

            <Button
                    android:id="@+id/btnPublish"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Publish"
                    android:textSize="12dp"
                    android:textStyle="normal" />

            <Button
                    android:id="@+id/btnArchive"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Archive"
                    android:textSize="12dp"
                    android:textStyle="normal" />

            <Button
                    android:id="@+id/btnRemove"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Remove"
                    android:textSize="12dp"
                    android:textStyle="normal" />
        </LinearLayout>

        <TextView
                android:id="@+id/dialog_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/pub_arc_rem"
                android:layout_marginTop="10dp"
                android:text="There Is Nothing Negative In Total Exploitation Of Natural Resources. What Say?"
                android:textColor="#343434"
                android:textSize="12dp" />

        <TextView
                android:id="@+id/dialog_desc"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/dialog_title"
                android:layout_marginTop="10dp"
                android:text="I don&apos;t think you have to believe one or the other. I have personally met christian&apos;s who simply think the big bang is how god created the universe. I have also met atheist who believe that we don&apos;t have the ability to know how the universe began. I have."
                android:textColor="#343434"
                android:textSize="12dp" />

        <View
                android:id="@+id/topformline"
                android:layout_width="fill_parent"
                android:layout_height="0.5dp"
                android:layout_below="@+id/thumbnail"
                android:layout_marginBottom="5dp"
                android:layout_marginTop="6dp"
                android:background="@android:color/darker_gray"
                android:gravity="center" />

        <LinearLayout
                android:id="@+id/dialog_det"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:padding="5dip" >

            <TextView
                    android:id="@+id/title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignTop="@+id/list_image"
                    android:layout_toRightOf="@+id/list_image"
                    android:layout_weight="5"
                    android:padding="5dip"
                    android:text="Last Active: 6 days ago"
                    android:textColor="#000000"
                    android:textSize="10dp"
                    android:textStyle="normal" />

            <ImageView
                    android:id="@+id/list_image"
                    android:layout_width="20dp"
                    android:layout_height="20dp"
                    android:layout_alignParentRight="true"
                    android:layout_weight="1"
                    android:src="@drawable/member" />

            <TextView
                    android:id="@+id/title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_weight="1"
                    android:padding="5dip"
                    android:text="8"
                    android:textColor="#000000"
                    android:textSize="10dp"
                    android:textStyle="normal" />

            <ImageView
                    android:id="@+id/list_image"
                    android:layout_width="20dp"
                    android:layout_height="20dp"
                    android:layout_alignParentRight="true"
                    android:layout_marginLeft="10dp"
                    android:layout_weight="1"
                    android:src="@drawable/udebate_fav" />

            <TextView
                    android:id="@+id/title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_weight="1"
                    android:padding="5dp"
                    android:text="64"
                    android:textColor="#000000"
                    android:textSize="10dp" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
            android:id="@+id/mod_friend"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/dialogcreatemainlayout"
            android:layout_marginTop="10dp"
            android:orientation="horizontal"
            android:weightSum="2" >

        <Button
                android:id="@+id/btnAssignModerator"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Assign Moderator"
                android:textSize="12dp"
                android:textStyle="normal" />

        <Button
                android:id="@+id/btnInviteFriends"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Invite Friends"
                android:textSize="12dp"
                android:textStyle="normal" />
    </LinearLayout>

</LinearLayout>

正如您所见,ScrollView必须只有一个孩子。

答案 2 :(得分:0)

只需在scrollview声明后添加垂直linearLyout,并在关闭scrollview标记之前关闭linearLayout