有时候迫于需求 当前界面只能显示指定个数的条目 正好有遇到这个问题 解决之后分享给大家
我们需要在RecyclerView 的 onCreateViewHolder中添加如下代码
以前可能写的不是特别明确 特附上我的Adapter 的 onCreateViewHolder ViewHolder 是我Adapter内定义的内部类 我知道你懂的
BodyAdapterRecy这个参数 是自己的Adapter的名字 每个人写adapter的方式不同 自己决定他的取舍
@Override
public BodyAdapterRecy.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mContext).inflate(R.layout.layout_item_body, parent, false);
ViewHolder viewHolder = new ViewHolder(view);
int parentHeight= parent.getHeight();
parent.getWidth();
ViewGroup.LayoutParams layoutParams = viewHolder.itemView.getLayoutParams();
layoutParams.height = (parentHeight/ 6);
return viewHolder;
}
获取 ViewGroup的高度 然后进行设置
注意 onCreateViewHolder中的 inflate需写成
View view = LayoutInflater.from(mContext).inflate(R.layout.layout_item_body, parent, false);
View view = LayoutInflater.from(mContext).inflate(R.layout.layout_item_body, parent, false);
重要的事情说两遍 inflate第二个字段需要填成 ViewGroup 类型的参数 parent
int parentHeight= parent.getHeight();
parent.getWidth();
ViewGroup.LayoutParams layoutParams = viewHolder.itemView.getLayoutParams();
layoutParams.height = (parentHeight/ 6);
6代表当前界面显示6条item 需要几条写几条
项目下载地址: