如何设计水平滚动视图?

时间:2018-09-13 05:26:35

标签: android

enter image description here

如何为此创建一个HorizantalScrollview,但是当我将按钮保持在HorizantalScrollview中时,按钮width变为wrap_contant,我希望它仅是match_parent当我滑动按钮时,我需要获取RecyclerView的{​​{1}},可以通过将RecyclerView保留在代码中来进行管理。所有想要的按钮就是LinearLayout.Horizantal,当我滑动时,我需要获取Match_Parent

2 个答案:

答案 0 :(得分:0)

虽然您在图示中显示的设置应该可行,但这不是一个好习惯。 RecyclerView为可滚动元素带来了效率,将RecyclerView放入另一个可滚动元素(例如您的示例中的HorizontalScrollView)可以使效率优势消失,并使其对UX的友好程度降低。

您应该做的是创建一个RecyclerView,它可以处理Adapter中的多种视图类型。 This SO answer应该足以让您理解这个概念。

您的案件应该看起来像这样:

recycler

该图仅供说明,因为RecyclerView应该包装其内容,因此并不完全准确)

答案 1 :(得分:0)

使用Horizo​​ntalScrollView就像普通的scrollview一样非常简单

请参见下面的示例

 <HorizontalScrollView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scrollbarThumbHorizontal="@null" \\remove it if you don't want to use
            android:scrollbarThumbVertical="@null" \\optional
            android:scrollbarTrackHorizontal="@null" \\optional
            android:layout_marginLeft="@dimen/margin_15dp"
            android:scrollbars="horizontal">

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

\\define your list of item here that you want to scroll


 </LinearLayout>
        </HorizontalScrollView>