如何将所有布局和UI放在ScrollView中?

时间:2011-06-16 23:05:35

标签: java android layout android-layout scrollview

我有一个很长的布局,有大量的布局等。如何将它全部包装在一个滚动视图中,以便用户可以在它用完房间时滚动?我只希望“borderSeperator”下面的东西可以滚动。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_height="fill_parent" android:layout_width="wrap_content">
   <RelativeLayout android:id="@+id/actionbarRelativeLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/actionbar_gradient">
        <ImageButton android:id="@+id/stocktwitsImageButton" android:layout_width="wrap_content" android:background="@drawable/stocktwits" android:layout_height="wrap_content"></ImageButton>
        <ImageButton android:layout_width="wrap_content" android:id="@+id/composeImageButton" android:layout_alignParentRight="true" android:layout_height="wrap_content" android:background="@drawable/composebutton"></ImageButton>
    </RelativeLayout>
   <RelativeLayout
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:id="@+id/headerLinearLay"
    android:orientation="horizontal" android:background="#e8e8e8" android:padding="8px">
        <ImageView
        android:id="@+id/avatarImageView"
        android:layout_height="48px" android:layout_width="48px"></ImageView>
        <LinearLayout android:id="@+id/linearLayout3" android:layout_toRightOf="@+id/avatarImageView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_marginLeft="4dp">
            <TextView android:text="TextView" android:textColor="#000000" android:textStyle="bold" android:id="@+id/nameTextView" android:layout_height="wrap_content" android:layout_width="fill_parent">    </TextView>
            <TextView android:text="TextView" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/usernameTextView" android:textColor="#000000"></TextView>
        </LinearLayout>
    </RelativeLayout>
   <LinearLayout android:layout_height="1dp" android:layout_width="fill_parent" android:id="@+id/borderSeperator" android:background="#c4c4c4"></LinearLayout>
    <TextView android:layout_height="wrap_content" android:textSize="24sp" android:layout_width="fill_parent" android:autoLink="web" android:textColor="#000000" android:background="#ffffff" android:padding="8dp" android:id="@+id/bioLabel" android:text="Bio"></TextView>
    <TextView android:padding="8dp" android:text="TextView" android:layout_height="wrap_content" android:layout_weight="0" android:layout_width="fill_parent" android:textColor="#000000" android:background="#ffffff" android:id="@+id/bioTextView"></TextView>
    <LinearLayout android:layout_width="fill_parent" android:layout_height="1dp" android:background="#c4c4c4" android:id="@+id/bioSeperator"></LinearLayout>
    <TextView android:padding="8dp" android:layout_height="wrap_content" android:textSize="24sp" android:layout_width="fill_parent" android:textColor="#000000" android:autoLink="web" android:background="#ffffff" android:id="@+id/locationLabel" android:text="Location"></TextView>
    <TextView android:padding="8dp" android:text="TextView" android:layout_height="wrap_content" android:layout_weight="0" android:layout_width="fill_parent" android:textColor="#000000" android:background="#ffffff" android:id="@+id/locationTextView"></TextView>
    <LinearLayout android:layout_width="fill_parent" android:layout_height="1dp" android:background="#c4c4c4" android:id="@+id/locationSeperator"></LinearLayout>
    <TextView android:padding="8dp" android:layout_height="wrap_content" android:textSize="24sp" android:layout_width="fill_parent" android:textColor="#000000" android:autoLink="web" android:background="#ffffff" android:id="@+id/websiteLabel" android:text="Website"></TextView>
    <TextView android:padding="8dp" android:text="TextView" android:layout_height="wrap_content" android:layout_weight="0" android:layout_width="fill_parent" android:textColor="#000000" android:background="#ffffff" android:id="@+id/websiteTextView"></TextView>
    <LinearLayout android:layout_width="fill_parent" android:layout_height="1dp" android:background="#c4c4c4" android:id="@+id/websiteSeperator"></LinearLayout>
    <LinearLayout android:id="@+id/experienceLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:background="#ffffff" android:layout_weight="1">
        <TextView android:text="Experience" android:layout_height="wrap_content" android:layout_weight="1" android:layout_width="wrap_content" android:textColor="#000000" android:textStyle="bold" android:id="@+id/experienceLabel"></TextView>
        <TextView android:text="TextView" android:layout_height="wrap_content" android:layout_weight="0" android:layout_width="wrap_content" android:textColor="#000000" android:id="@+id/experienceTextView"></TextView>
    </LinearLayout>
    <LinearLayout android:id="@+id/assetsLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:background="#ffffff" android:layout_weight="1">
        <TextView android:text="Assets Traded" android:layout_height="wrap_content" android:layout_weight="1" android:layout_width="wrap_content" android:textColor="#000000" android:textStyle="bold" android:id="@+id/assetsLabel"></TextView>
        <TextView android:text="TextView" android:layout_height="wrap_content" android:layout_weight="0" android:layout_width="wrap_content" android:textColor="#000000" android:id="@+id/assetsTextView"></TextView>
    </LinearLayout>
    <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:background="#ffffff" android:layout_weight="1" android:id="@+id/approachLayout">
        <TextView android:layout_height="wrap_content" android:layout_weight="1" android:layout_width="wrap_content" android:textColor="#000000" android:textStyle="bold" android:id="@+id/approachLabel" android:text="Approach"></TextView>
        <TextView android:text="TextView" android:layout_height="wrap_content" android:layout_weight="0" android:layout_width="wrap_content" android:textColor="#000000" android:id="@+id/approachTextView"></TextView>
    </LinearLayout>
    <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:background="#ffffff" android:layout_weight="1" android:id="@+id/riskLayout">
        <TextView android:layout_height="wrap_content" android:layout_weight="1" android:layout_width="wrap_content" android:textColor="#000000" android:textStyle="bold" android:id="@+id/riskLabel" android:text="Risk Profile"></TextView>
        <TextView android:text="TextView" android:layout_height="wrap_content" android:layout_weight="0" android:layout_width="wrap_content" android:textColor="#000000" android:id="@+id/riskTextView"></TextView>
    </LinearLayout>
    <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:background="#ffffff" android:layout_weight="1" android:id="@+id/holdingPeriodLayout">
        <TextView android:layout_height="wrap_content" android:layout_weight="1" android:layout_width="wrap_content" android:textColor="#000000" android:textStyle="bold" android:id="@+id/holdingPeriodLabel" android:text="Holding Period"></TextView>
        <TextView android:text="TextView" android:layout_height="wrap_content" android:layout_weight="0" android:layout_width="wrap_content" android:textColor="#000000" android:id="@+id/holdingPeriodTextView"></TextView>
    </LinearLayout>
</LinearLayout>

3 个答案:

答案 0 :(得分:0)

在您的外部LinearLayout中,将其高度更改为wrap_content,然后只需将其放在ScrollView内,其高度和宽度为fill_parent

答案 1 :(得分:0)

这是ScrollView的一个很好的例子。一旦你看看它们是如何经历的,它就是非常自我解释的。

使用@ + id / borderSeperator(注意:同一行上有</LinearLayout>)在LinearLayout下面发生的内容应该都包含在自己的LinearLayout中并放在ScrollView中

答案 2 :(得分:-1)

创建一个只包含ScrollView的LinearLayout,并将当前的顶级布局放在scrollview中

<LinearLayout>
    <ScrollView>
       ...layoutyou have now
    </ScrollView>
</LinearLayout>