添加scrollview后,相对布局不会滚动

时间:2015-05-27 04:47:37

标签: android android-layout

美好的一天。我有一个如下所示的布局代码

<?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:fillViewport="true" >

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        tools:context=".MainActivity">

        <include
            android:id="@+id/toolbar"
            layout="@layout/app_bar" />


        <android.support.v4.view.ViewPager
            android:id="@+id/viewpager"
            android:layout_width="match_parent"
            android:layout_height="165dp"
            android:layout_below="@+id/toolbar" />

        <RelativeLayout
            android:id="@+id/relativeLayout"
            android:layout_width="match_parent"
            android:layout_height="25dp"
            android:layout_alignBottom="@id/viewpager"
            android:background="#33000000">

            <TextView
                android:id="@+id/tv_image_description"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_centerVertical="true"
                android:paddingLeft="10dp"
                android:text="Shop Name"
                android:textColor="#FFF" />


            <LinearLayout
                android:id="@+id/ll_point_group"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:orientation="horizontal"
                android:paddingRight="10dp">

            </LinearLayout>
        </RelativeLayout>


        <android.support.v7.widget.RecyclerView
            android:id="@+id/cardList"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/relativeLayout" />


    </RelativeLayout>
</ScrollView>

我已将recyclerview与数据列表相关联,但为什么RecyclerView Layout可滚动但不是整个Relativelayout。我用ScrollView包装了RelativeLayout。它似乎不起作用。请参阅下面的图片This is how to layout look like

如果你们有更好的解决方案,请告诉我。亿万谢谢。

2 个答案:

答案 0 :(得分:1)

RelativeLayout高度更改为wrap_content

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    tools:context=".MainActivity">

答案 1 :(得分:1)

您已在另一个中添加了一个滚动组件 - Scrollview中的RecycleView 所以只有一个人会关注。这是针对Android指南的。你永远不应该把一个滚动组件放在另一个组件中。 但要实现两个滚动

yourRecycleView.setOnTouchListener(new OnTouchListener() {
    // Setting on Touch Listener for handling the touch inside ScrollView
    @Override
    public boolean onTouch(View v, MotionEvent event) {
    // Disallow the touch request for parent scroll on touch of child view
    v.getParent().requestDisallowInterceptTouchEvent(true);
    return false;
    }
});
相关问题