recyclerView 里怎么限制每个根view的最大高度
时间: 2024-05-09 14:14:42 浏览: 12
要限制RecyclerView中每个根View的最大高度,可以在RecyclerView的Adapter中,重写onBindViewHolder方法,在该方法中获取根View,然后设置最大高度即可。
示例代码如下:
```java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
View rootView = holder.itemView;
int maxHeight = 200; // 设置最大高度为200px
rootView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
if (rootView.getMeasuredHeight() > maxHeight) {
rootView.getLayoutParams().height = maxHeight;
rootView.requestLayout();
}
}
static class ViewHolder extends RecyclerView.ViewHolder {
// ViewHolder 中的代码省略
}
}
```
在上述代码中,我们通过获取itemView,即每个根View,来设置它的最大高度。我们首先将最大高度设置为200px,然后通过measure方法获取当前根View的高度,如果超过了最大高度,则将其高度设置为最大高度,最后调用requestLayout方法使布局重新绘制。