我需要具有水平可滚动行为的RecyclerView Gridlayout Manager。它必须添加子视图,就像它具有VERTICAL方向时一样(例如(第1行,第1列)=索引0,(第1行,第2列)=索引1的列式索引等等。)
目前VERTICAL Orientation不允许水平滚动并使用设备宽度拟合子视图。
修改
我在RecyclerView GridLayoutManager中有100行和150列,需要水平滚动视图。我隐藏并显示行,这只能通过VERTICAL Orientation实现。
答案 0 :(得分:0)
尝试
new GridLayoutManager(getActivity(), 1, GridLayoutManager.HORIZONTAL, false);
这里1计为行数。如果您使用片段,请使用getActvity
();如果您在活动中调用它,则使用MainActivity.this
答案 1 :(得分:0)
您可以尝试将Recyclerview
放在HorizontalScrollingView
内,并禁用Recyclerview
的垂直滚动:
您的.xml文件可能如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<HorizontalScrollView
android:id="@+id/myHorizontalScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/myRecyclerView"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
</HorizontalScrollView >
</LinearLayout >
在您的代码中,您必须覆盖canScrollVertically
中的GridLayoutManager
:
Java:
GridLayoutManager mLayoutManager = new GridLayoutManager(this, 100) {
public boolean canScrollVertically() {
return false;
}
};
科特琳:
val mLayoutManager = object : GridLayoutManager(this, 100) {
override fun canScrollVertically() : Boolean {
return false
}
}
这100行可能太多,无法一次在屏幕上显示它们。要解决此问题,只需不要停用GridLayoutManager
中的垂直滚动。