使用哪个控件来制作 Google 播放风格的水平滚动
Which control to use to make a Google Play style horizontal scroll
我正在尝试制作一个水平滚动列表,就像我们可以在 Google Play 应用程序中找到的那样。我制作了片段 (100dp x 150dp) 和适配器,但我正在努力寻找一个可以工作的元素。
片段看起来像这样:
它只是一个带有图像视图的卡片视图,以及其中的几个文本视图。
我的目标是让它们中的许多像这样水平放置并可滚动:
我尝试使用 ViewPager,但它只允许一个全屏元素,但我需要一个在页面之外继续的列表。另一方面,HorizontalScrollView 不会 "snap" 到上面 gif 中看到的元素。
有什么关于哪个元素最适合这个的建议吗?
如果我是你,我会使用 ViewPage 并实现一个 PagerAdapter。在自定义的PagerAdapter中,覆盖方法getPageWidth()
,调整页面宽度为卡片的宽度。
我建议使用 RecyclerView
"pattern" 并简单地使用 LinearLayoutManager
并将其 orientation
设置为 HORIZONTAL
.
它将与 Horizontal RecyclerView 一起工作,使 Horizontal LinearLayoutManager 像下面的代码一样
RecyclerView rclViewOrder;
rclViewOrder.setHasFixedSize(true);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
rclViewOrder.setLayoutManager(mLayoutManager);
RecyclerView.Adapter mAdapter = new ViewOrderWaiterAdapter(activity, orderItemInfoList);
rclViewOrder.setAdapter(mAdapter);
我正在尝试制作一个水平滚动列表,就像我们可以在 Google Play 应用程序中找到的那样。我制作了片段 (100dp x 150dp) 和适配器,但我正在努力寻找一个可以工作的元素。
片段看起来像这样:
它只是一个带有图像视图的卡片视图,以及其中的几个文本视图。
我的目标是让它们中的许多像这样水平放置并可滚动:
我尝试使用 ViewPager,但它只允许一个全屏元素,但我需要一个在页面之外继续的列表。另一方面,HorizontalScrollView 不会 "snap" 到上面 gif 中看到的元素。
有什么关于哪个元素最适合这个的建议吗?
如果我是你,我会使用 ViewPage 并实现一个 PagerAdapter。在自定义的PagerAdapter中,覆盖方法getPageWidth()
,调整页面宽度为卡片的宽度。
我建议使用 RecyclerView
"pattern" 并简单地使用 LinearLayoutManager
并将其 orientation
设置为 HORIZONTAL
.
它将与 Horizontal RecyclerView 一起工作,使 Horizontal LinearLayoutManager 像下面的代码一样
RecyclerView rclViewOrder;
rclViewOrder.setHasFixedSize(true);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
rclViewOrder.setLayoutManager(mLayoutManager);
RecyclerView.Adapter mAdapter = new ViewOrderWaiterAdapter(activity, orderItemInfoList);
rclViewOrder.setAdapter(mAdapter);