实现ScrollView Android?

实现ScrollView Android?,android,layout,scroll,scrollview,Android,Layout,Scroll,Scrollview,我有一个问题。我为电影细节设计了布局,它看起来像这样: 现在,我想在用户向下滚动时添加电影描述,以便此布局保持不变,但当用户滚动时,它将显示电影描述。 当前布局用LinearLayout垂直布局包裹。 如何实现该滚动?我尝试添加滚动视图作为父视图,但它会向下拉伸此布局 这是现在的代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/ap

我有一个问题。我为电影细节设计了布局,它看起来像这样:

现在,我想在用户向下滚动时添加电影描述,以便此布局保持不变,但当用户滚动时,它将显示电影描述。 当前布局用LinearLayout垂直布局包裹。 如何实现该滚动?我尝试添加滚动视图作为父视图,但它会向下拉伸此布局

这是现在的代码

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


    <ImageView
        android:id="@+id/iv_backdrop"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="4"
        android:scaleType="centerCrop" />

    <LinearLayout
        android:id="@+id/layout_favorite"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="-40dp"
        android:gravity="right">

        <RelativeLayout
            android:layout_width="100dp"
            android:layout_height="80dp"
            android:layout_marginEnd="25dp">

            <ImageView
                android:id="@+id/iv_background_favorite"
                android:layout_width="100dp"
                android:layout_height="80dp"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:tint="#000000"
                app:srcCompat="@drawable/ic_ellipse" />

            <ImageView
                android:id="@+id/iv_foreground_favorite"
                android:layout_width="65dp"
                android:layout_height="45dp"
                android:layout_centerInParent="true"
                android:layout_centerVertical="true"
                app:srcCompat="@drawable/ic_favorite_border_white_36px" />


        </RelativeLayout>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/layout_short_desc"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="-20dp"
        android:layout_weight="4">

        <ImageView
            android:id="@+id/iv_poster"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:layout_marginStart="20dp"
            android:adjustViewBounds="true"
            android:scaleType="fitCenter" />

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

            <TextView
                android:id="@+id/tv_title"
                android:layout_width="150dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="20dp"
                android:textSize="19sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/tv_tagline"
                android:layout_width="160dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="20dp"
                android:layout_marginTop="8dp"
                android:textSize="16sp"
                android:textStyle="italic" />

            <TextView
                android:id="@+id/tv_movie_released"
                android:layout_width="160dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="20dp"
                android:layout_marginTop="8dp"
                android:text="12-12-2007(Released)"
                android:textAlignment="viewStart"
                android:textAllCaps="false"
                android:textSize="16sp" />

            <TextView
                android:id="@+id/tv_movie_duration"
                android:layout_width="160dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="20dp"
                android:layout_marginTop="8dp"
                android:text="Duration - 90 min"
                android:textSize="16sp" />
        </LinearLayout>

    </LinearLayout>

    <View
        android:id="@+id/v_separator"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_marginLeft="25dp"
        android:layout_marginRight="25dp"
        android:layout_marginTop="20dp"
        android:background="@android:color/darker_gray" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:weightSum="4">

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

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

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_centerInParent="true"
                    android:layout_margin="20dp"
                    android:src="@drawable/hexagon" />

                <TextView
                    android:id="@+id/tv_vote_average"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:layout_gravity="center_horizontal"
                    android:textColor="#ffffff"
                    android:textSize="16sp" />

                <TextView
                    android:id="@+id/tv_number_votes"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:gravity="center_horizontal"
                    android:textColor="#000000"
                    android:textSize="16sp" />

            </RelativeLayout>


        </LinearLayout>

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

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

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_margin="20dp"
                    android:adjustViewBounds="true"
                    android:src="@drawable/theatre" />

                <TextView
                    android:id="@+id/tv_genre"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:gravity="center_horizontal"
                    android:textColor="#000000"
                    android:textSize="16sp" />
            </RelativeLayout>


        </LinearLayout>

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

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

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_centerInParent="true"
                    android:layout_margin="20dp"
                    android:src="@drawable/circle_double_border" />

                <TextView
                    android:id="@+id/tv_popularity"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:layout_centerVertical="true"
                    android:layout_gravity="center_horizontal"
                    android:textColor="#ffffff"
                    android:textSize="16sp" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:gravity="center_horizontal"
                    android:text="Popularity"
                    android:textColor="#000000"
                    android:textSize="16sp" />
            </RelativeLayout>
        </LinearLayout>

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

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

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_centerInParent="true"
                    android:layout_margin="20dp"
                    android:src="@drawable/circle_double_border" />

                <TextView
                    android:id="@+id/tv_language"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:layout_gravity="center_horizontal"
                    android:textColor="#ffffff"
                    android:textSize="16sp" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:gravity="center_horizontal"
                    android:text="Language"
                    android:textColor="#000000"
                    android:textSize="16sp" />
            </RelativeLayout>

        </LinearLayout>
    </LinearLayout>

</LinearLayout>

仅用于说明,只需使用NestedScrollView即可。确保NestedScrollView的高度和宽度与最初用于描述文本视图的高度和宽度相同。然后简单地将TextView放在NestedScrollView中。 阅读更多关于nestedScrollView的信息


用这样的东西

<ScrollView>            //Should be on top
    <RelativeLayout>            //Scroll View Contains only child view
        <RelativeLayout>
           //Paste your whatever so far created views.
        </RelativeLayout>

        <RelativeLayout>
           //Place your Description view here
        </RelativeLayout>
    </RelativeLayout>
</ScrollView>

你能把你到目前为止所做的事情告诉我们如何帮助你吗?我添加了代码。如果我的答案解决了你的问题,请把它标记为正确,这样它就能帮助其他有同样问题的人