RecyclerView是没有maxHeight属性配置的,但我们可以通过继承RecyclerView自定义实现此属性功能。

具体实现如下:
public class MaxHeightRecyclerView extends RecyclerView { private int
mMaxHeight; public MaxHeightRecyclerView(Context context) { super(context); }
public MaxHeightRecyclerView(Context context, AttributeSet attrs) { super(
context, attrs); initialize(context, attrs); } public MaxHeightRecyclerView(
Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs,
defStyleAttr); initialize(context, attrs); } private void initialize(Context
context, AttributeSet attrs) { TypedArray arr = context.obtainStyledAttributes(
attrs, R.styleable.MaxHeightRecyclerView); mMaxHeight = arr.getLayoutDimension(R
.styleable.MaxHeightRecyclerView_maxHeight, mMaxHeight); arr.recycle(); }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{ if (mMaxHeight > 0) { heightMeasureSpec = MeasureSpec.makeMeasureSpec(
mMaxHeight, MeasureSpec.AT_MOST); } super.onMeasure(widthMeasureSpec,
heightMeasureSpec); } }
在style.xml文件中加入:
<declare-styleable name="MaxHeightRecyclerView"> <attr name="maxHeight" format=
"dimension" /> </declare-styleable>
然后就可以在xml中使用了:
app:maxHeight="400dp"

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信