【问题标题】:How to arrange multiple images horizontally on single activity如何在单个活动上水平排列多个图像
【发布时间】:2019-02-01 15:41:31
【问题描述】:

我是 android 新手,我开发了一个应用程序,我必须在使用交错回收视图完成的单个活动上显示图像水平视图,但现在是这样。

但我想这样设计作为活动的一部分。

【问题讨论】:

  • 请粘贴代码
  • 感谢@Pradeep Kumar 的建议,我已经完成了剩下的设计部分,唯一的问题是我无法显示提出的问题
  • 使用自定义布局管理器为您的 RecyclerView 显示您想要的项目。

标签: android image staggeredgridlayoutmanager


【解决方案1】:

您可以使用GridLayoutManager 轻松做到这一点。使用 SpanSizeLookup 来控制您的行/列。对于您的情况,您必须使用 HORIZONTAL 方向。 SpanSizeLookup 将帮助您控制HORIZONTAL GridLayoutManager 中每一列中的行。

 GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), NUM_OF_ROW, LinearLayoutManager.HORIZONTAL, reverseOrder);

    GridLayoutManager.SpanSizeLookup spanSizeLookup = new GridLayoutManager.SpanSizeLookup() {
        @Override
        public int getSpanSize(int position) {
              // for position 0 use only one row. for this position it will take all rows
            if (position  == 0) {
                 return NUM_OF_ROW;
            }

            return 1;
        }
};

Here 是关于不同布局管理器实现的博文。

我在 Github 上上传了一个 repo,关于不同的 LayoutManager 用法,如 LinearLayoutManagerGridLayoutManagerStaggeredGridLayoutManager 和一些高级 RecyclerView 用法,如滑动、拖放。你也可以检查一下

【讨论】:

    【解决方案2】:

    如果您使用 RecyclerView,这是我用于水平排列项目的方法:

     int numberOfColumns = 3; //edit as you want pls
            final GridLayoutManager gridLayoutManager = new GridLayoutManager(this.getContext(), numberOfColumns);
            recyclerView.setLayoutManager(gridLayoutManager);
            recyclerView.setAdapter(adapter);
    

    我可能不喜欢你的解决方案,如果是这样,请原谅,但粘贴你的一些代码可能会更好。

    【讨论】:

    • StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(3, LinearLayoutManager.HORIZONTAL); recyclerViewStaggered.setLayoutManager(staggeredGridLayoutManager); StaggeredAdapter customAdapter = new StaggeredAdapter(getActivity(), personImages); recyclerViewStaggered.setAdapter(customAdapter);
    • 如果方向是垂直的,spanCount 是列数。如果方向是水平的,则 spanCount 是行数。我不认为你注意到这一点???显然您的代码已设置!这就是你需要做的:将水平更改为垂直
    • 那么跨度数呢?我要不要使用它
    • 是的,您需要跨度计数!它有助于设置将在列中显示多少张图片,然后其余图片将转到下一行。
    猜你喜欢
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 2014-10-01
    相关资源
    最近更新 更多