android gridview 列宽度,android – GridView在行中具有不同的列宽

本文介绍了如何在RecyclerView中使用GridLayoutManager时,根据数据量动态调整网格列数和每个格子的大小。通过创建一个自定义的SpanSizeLookup,根据item数量实现了1列或2列布局的灵活切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

见下面的代码

我已经创建了演示并且工作正常

rv = (RecyclerView) findViewById(R.id.rv);

final MyAdapter adapter = new MyAdapter();

rv.setAdapter(adapter);

GridLayoutManager mLayoutManager = new GridLayoutManager(this, 2);

rv.setLayoutManager(mLayoutManager);

mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {

@Override

public int getSpanSize(int position) {

if (adapter.getItemCount() == 1) {

return 2;

} else if (adapter.getItemCount() == 2) {

return 1;

} else if (adapter.getItemCount() == 3) {

if (position == 0) {

return 2;

} else {

return 1;

}

} else {

return 1;

}

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值