gpt4 book ai didi

android - 如何在 Gridlayout 中放大第一张图片?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:06 31 4
gpt4 key购买 nike

准确的说我想实现这个。 enter image description here

我将 recyclerview 与 GridLayoutManager 一起使用。我还使用以下代码使第一个项目变大

        lLayout.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int i) {
if (i==0) return 2;
else return 1;
}
});

一切正常,除了一个:位置 1 的项目(即大图像的下一个项目)被垂直拉长以匹配大项目的高度。从第 3 行开始,所有图像都如图所示。

我怎样才能摆脱这个?

编辑:经过一些分析

所以问题似乎是大图像在水平方向上有两个跨度,但在垂直方向上有一个跨度,并且由于我强制我的 ImageView 为正方形,所以它看起来也有两行,而实际上它是一个排。由于这个原因,第二张图片似乎被拉长了。

那么现在我的问题是,如何让网格项目在垂直方向上有两个跨度,在水平方向上有两个跨度?

最佳答案

尝试使用 StaggeredGridLayoutManager 而不是 GridLayoutManagerStaggeredGridLayoutManager支持水平和垂直布局以及反向布局子项的能力。onBindViewHolder 适配器方法,您可以使用此代码根据项目的位置设置跨度

final ViewGroup.LayoutParams lp = holder.itemView.getLayoutParams();    
if (position == 0) {
StaggeredGridLayoutManager.LayoutParams sglp = (StaggeredGridLayoutManager.LayoutParams) lp;
sglp.setFullSpan(true);
holder.itemView.setLayoutParams(sglp);
}

找例子http://enoent.fr/blog/2015/01/18/recyclerview-basics/ ...希望对您有所帮助

关于android - 如何在 Gridlayout 中放大第一张图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31634399/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com