android–RecyclerView中的中心列

android–RecyclerView中的中心列,第1张

概述我正在尝试创建一个动态的RecyclerView布局.我使用的GridLayoutManager有三列.我需要包装每个网格项并使列居中(如附加).我尝试了一个StaggeredGridLayout,我尝试了WrapGridLayoutManager,但这些都没有奏效.这是我的RecyclerView:<android.support.v7.widget.RecyclerView @H_403_0@我正在尝试创建一个动态的RecyclerVIEw布局.我使用的GrIDLayoutManager有三列.

@H_403_0@我需要包装每个网格项并使列居中(如附加).

@H_403_0@我尝试了一个StaggeredGrIDLayout,我尝试了WrapGridLayoutManager,但这些都没有奏效.

@H_403_0@这是我的RecyclerVIEw:

@H_403_0@

 <androID.support.v7.Widget.RecyclerVIEw        xmlns:androID="http://schemas.androID.com/apk/res/androID"        androID:ID="@+ID/categorIEs_grID"        androID:layout_margintop="@dimen/Feed_item_margin"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent">    </androID.support.v7.Widget.RecyclerVIEw>
@H_403_0@和我的RecyclerVIEw项目:

@H_403_0@

 <linearLayout     xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:orIEntation="horizontal"    androID:background="@drawable/first_time_category_unselected"    androID:layout_wIDth="wrap_content"    androID:layout_height="match_parent">    <TextVIEw        androID:ID="@+ID/category_name"        androID:layout_marginleft="@dimen/Feed_item_margin"        androID:layout_gravity="center_vertical"        androID:textcolor="@color/black_colour"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content" />    <ImageVIEw        androID:ID="@+ID/category_status_icon"        androID:layout_gravity="center_vertical"        androID:background="@drawable/icon_follow"        androID:layout_marginleft="@dimen/Feed_item_margin"        androID:layout_marginRight="@dimen/Feed_item_margin"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content" /></linearLayout>
@H_403_0@这是我用来实现网格间距的装饰:

@H_403_0@

public class SpacesItemdecoration extends RecyclerVIEw.Itemdecoration {    private int halfSpace;    public SpacesItemdecoration(int space) {        this.halfSpace = space / 2;    }    @OverrIDe    public voID getItemOffsets(Rect outRect, VIEw vIEw, RecyclerVIEw parent, RecyclerVIEw.State state) {        if (parent.getpaddingleft() != halfSpace) {            parent.setpadding(halfSpace, halfSpace, halfSpace, halfSpace);            parent.setClipTopadding(false);        }        outRect.top = halfSpace;        outRect.bottom = halfSpace;        outRect.left = halfSpace;        outRect.right = halfSpace;    }}
@H_403_0@这就是我想要实现的目标:


@H_403_0@这就是我得到的:


如果有人可以提供帮助,我会非常感激

解决方法:

@H_403_0@您可以使用交错网格布局管理器

@H_403_0@如

@H_403_0@

  StagaggeredGrIDLayoutManager = new StaggeredGrIDLayoutManager(3, linearlayoutmanager.HORIZONTAL );        recyclerVIEw.setLayoutManager(gaggeredGrIDLayoutManager);
@H_403_0@这是Link供参考

总结

以上是内存溢出为你收集整理的android – RecyclerView中的中心列全部内容,希望文章能够帮你解决android – RecyclerView中的中心列所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1120415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存