Horizo​​ntal RecylerView里面的Horizo​​ntalScrollView不滚动

时间:2016-08-22 06:30:58

标签: android nested android-recyclerview scrollview

我知道不建议在另一个滚动视图中添加滚动视图,但不能更改此要求。 所以我有一个常规的RecylerView,其LinearLayoutManager方向为Horizo​​ntal。

 LinearLayoutManager manager2 = new LinearLayoutManager(context,LinearLayoutManager.HORIZONTAL, false);
 rec_products.setLayoutManager(manager2);

它有一个自定义视图,其中在适配器中膨胀

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="400dp"
    android:layout_height="wrap_content"
    android:background="@color/productblue"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:orientation="vertical">



    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/icon_abc"
        android:scaleType="fitXY"/>


    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="5">

            <LinearLayout
                style="@style/products_item_options"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="@dimen/product_layout_icon_size"
                    android:layout_height="@dimen/product_layout_icon_size"
                    android:layout_gravity="center"
                    android:src="@drawable/icon_cart_new"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginTop="5dp"
                    android:gravity="center"
                    android:text="Add"
                    android:textColor="@android:color/black"/>
            </LinearLayout>

            <LinearLayout
                style="@style/products_item_options"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="@dimen/product_layout_icon_size"
                    android:layout_height="@dimen/product_layout_icon_size"
                    android:layout_gravity="center"
                    android:src="@drawable/icon_cart_new"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginTop="5dp"
                    android:gravity="center"
                    android:text="Color Option"
                    android:textColor="@android:color/black"/>
            </LinearLayout>

            <LinearLayout
                style="@style/products_item_options"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="@dimen/product_layout_icon_size"
                    android:layout_height="@dimen/product_layout_icon_size"
                    android:layout_gravity="center"
                    android:src="@drawable/icon_emailquotegray"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginTop="5dp"
                    android:gravity="center"
                    android:text="Email Quote"
                    android:textColor="@android:color/black"/>
            </LinearLayout>

            <LinearLayout
                style="@style/products_item_options"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="@dimen/product_layout_icon_size"
                    android:layout_height="@dimen/product_layout_icon_size"
                    android:layout_gravity="center"
                    android:src="@drawable/icon_brochureemailgray"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginTop="5dp"
                    android:gravity="center"
                    android:text="Email Brochure"
                    android:textColor="@android:color/black"/>
            </LinearLayout>

            <LinearLayout
                style="@style/products_item_options"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="@dimen/product_layout_icon_size"
                    android:layout_height="@dimen/product_layout_icon_size"
                    android:layout_gravity="center"
                    android:src="@drawable/icon_brochureemailgray"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginTop="5dp"
                    android:gravity="center"
                    android:text="Check Stock"
                    android:textColor="@android:color/black"/>
            </LinearLayout>

        </LinearLayout>

    </HorizontalScrollView>
</LinearLayout>

在适配器中没有什么特别的做法,只是常规的查看器膨胀和绑定。 水平滚动视图不滚动。我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:-1)

使用RecyclerView时,需要指定一个LayoutManager,负责布置视图中的每个项目。 LinearLayoutManager允许您指定方向,就像普通的LinearLayout一样。

要使用RecyclerView创建水平列表,您可以执行以下操作:

to_date.{25}