gpt4 book ai didi

android - 如何设置单个recyclerview项目[imageview]占屏幕的一半?

转载 作者:行者123 更新时间:2023-11-29 23:28:01 25 4
gpt4 key购买 nike

我从 single_item.xml 中膨胀了 recyclerview 项目,它只有一个 ImageView 。我如何让它占据屏幕的一半?或者换句话说,我如何在膨胀 single_item.xml 文件的主 xml 文件中的每个屏幕上显示两个项目?我想在不设置固定高度的情况下执行此操作。我尝试使用布局权重划分,但这会禁用托管 View 显示两个项目而不是一个。

最佳答案

执行此操作的最佳方法是将代码添加到 onCreateViewHolder() 以更改项目 View 的高度(如果您使用的是垂直布局管理器)或宽度(如果您使用的是垂直布局管理器)水平布局管理器)。

下面是一个如何使每个项目成为屏幕大小一半的示例:

@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View itemView = inflater.inflate(R.layout.itemview, parent, false);

// here we override the inflated view's height to be half the recyclerview size
ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) itemView.getLayoutParams();
layoutParams.height = (parent.getHeight() / 2) - layoutParams.topMargin - layoutParams.bottomMargin;
itemView.setLayoutParams(layoutParams);

return new MyViewHolder(itemView);
}

如果您的项目 View 布局没有任何边距,您可以不减去边距而只使用

layoutParams.height = parent.getHeight() / 2;

如果您尝试使用水平布局管理器,您需要更改宽度而不是高度:

layoutParams.width = (parent.getWidth() / 2) - layoutParams.leftMargin - layoutParams.rightMargin;

关于android - 如何设置单个recyclerview项目[imageview]占屏幕的一半?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53188303/

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