我需要在我的Android应用程序中实现一个水平列表视图。我做了一些研究,遇到了如何在Android中创建一个水平的ListView ?和横向列表视图在Android?然而,这些问题是在Recyclerview发布之前提出的。有没有更好的方法来实现这个现在与Recyclerview?


当前回答

recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));

recyclerView.setAdapter(adapter);

其他回答

您可以从布局文件或java/kotlin文件中定义方向和layoutManager

使用XML

<androidx.recyclerview.widget.RecyclerView
        android:id="@+id/my_recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />

在Java中

LinearLayoutManager layoutManager
= new LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false);

RecyclerView rv= (RecyclerView) findViewById(R.id.my_recyclerView);
rv.setLayoutManager(layoutManager);

在Kotlin

val layoutManager
= LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
my_recyclerView.layoutManager = layoutManager

随着RecyclerView库的发布,现在您可以轻松地对齐与文本绑定的图像列表。您可以使用LinearLayoutManager来指定您想要定位列表的方向,可以是垂直的,也可以是水平的,如下所示。

你可以从这篇文章中下载一个完整的工作演示。

试图构建一个水平的ListView花费了太多的时间。我用两种方法解决了这个问题。

通过使用一个ViewPager,它的适配器扩展自PagerAdapter。 通过像上面一样使用RecyclerView。我们需要像下面的代码一样应用LayoutManager: LinearLayoutManager layoutManager = new LinearLayoutManager(这个,LinearLayoutManager。水平,假); RecyclerView myList = (RecyclerView) findViewById(R.id.my_recycler_view); myList.setLayoutManager (layoutManager);

只需在XML的RecyclerView中添加这些属性

android:orientation=“horizontal” app:layoutManager=“androidx.recyclerview.widget.LinearLayoutManager”

有一个名为HorizontalGridView的RecyclerView子类。你可以用它来表示水平方向。 垂直方向的VerticalGridView。