当前位置: 首页 > 知识库问答 >
问题:

通过水平滚动使GridLayoutManager垂直定向

傅元章
2023-03-14

我需要具有水平滚动行为的RecyclerView Gridlayout管理器。它必须添加子视图,就像它具有垂直方向时一样(例如(行1,列1)=索引0,(行1,列2)=索引1等等)。

目前垂直方向不允许水平滚动,并且适合设备宽度内的子视图。

编辑:

我在RecyclerView GridLayoutManager中有100行和150列,需要水平滚动视图。我隐藏和显示行,这只有在垂直方向上才可能。

共有2个答案

司马俊晖
2023-03-14

您可以尝试将您的回收视图放入HorizontalScrollingView中,并禁用您的回收视图的垂直滚动:

你的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 >

在您的代码中,您必须覆盖GridLayoutManager的CanScrollVertical

爪哇:

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中的垂直滚动。

张英范
2023-03-14

尝试

new GridLayoutManager(getActivity(), 1, GridLayoutManager.HORIZONTAL, false);

这里1算作行数。如果使用fragment,请使用GetActivity(),以及MainActivity。这例如,如果您在活动中调用它

 类似资料:
  • 我正在使用GridView创建一个组件来创建像Excel这样的表。在这里,我最初创建了一个2x2网格,稍后当用户单击按钮时,会添加额外的行和列。 这是我添加新专栏的做法:- 这可以正常工作并添加额外的列。问题是当添加列时,以前的列会收缩以适应新列,从而使每次添加新列时列看起来更小。我想一次只在屏幕上显示2列,然后让用户水平向前滚动以查看更多列。现在网格只能垂直滚动。同样,我希望在添加新行时发生这种

  • 问题内容: 如标题中所述,我一直在尝试通过水平滚动设置某种垂直流布局。布局中的组件将是JLabels。让我画一幅画: 同一窗口,垂直扩展 因此,标签将填充可用的垂直空间,然后创建一个新列。一旦可用的水平空间用尽,就会出现一个 水平 滚动条。 垂直滚动条通常不应出现;但是,如果窗口的垂直高度异常小,最好有一个垂直滚动条。 任何帮助是极大的赞赏。我是Java的新手,所以任何其他解释都将是很棒的。谢谢!

  • 好吧,这里你是下一篇关于固定页眉和页脚的无聊滚动表的文章。这个主题来自超文本标记语言的刚性结构。源问题是显示非常巨大的表格溢出屏幕宽度作为高度。我的愿望也是将标题固定在表格的顶部,因此将其副本固定在表格的底部。 在大量搜索和测试保证代码后,我发现了下一个深层嵌套问题:-页眉和页脚没有保持表体的单元格间距,而tbody是单独滚动的-tbody行覆盖了页眉-tbody的垂直滚动很难与整个表(包括页眉和

  • 我在一个大型遗留系统中工作,系统中有数千个页面,动态生成的表格数据被填充到html中,定义格式如下: 我的任务是移除不必要的小水平滚动条,这些滚动条似乎使系统感到困惑。经过一段时间的研究,我意识到当表格数据量垂直溢出包含的div并导致垂直滚动条出现时,新生成的垂直滚动条本身会推入div的内容区域,从而导致表格数据水平溢出,从而导致不希望出现的水平滚动条。换句话说,当垂直滚动条出现时,它会侵入内容空

  • 我在一个大型遗留系统中工作,系统中有数千个页面,动态生成的表格数据被填充到html中,定义格式如下: 我的任务是移除不必要的小水平滚动条,这些滚动条似乎使系统感到困惑。经过一段时间的研究,我意识到当表格数据量垂直溢出包含的div并导致垂直滚动条出现时,新生成的垂直滚动条本身会推入div的内容区域,从而导致表格数据水平溢出,从而导致不希望出现的水平滚动条。换句话说,当垂直滚动条出现时,它会侵入内容空

  • 我一直在努力解决HTML/CSS粘滞头+滚动条的问题。我们正在创建一个程序,一旦containersize达到某个点(取决于用户的分辨率),就需要滚动条显示出来。 我在表中的第二列上强制设置一个min-width,因此表在某个点停止递减,并强制容器保持在某个宽度。容器上的溢出显示水平滚动条。一切正常。一旦我为垂直滚动添加了第二个滚动条,事情就会变得一团糟。有人有解决这个问题的办法吗?我想在.tab