我想设置 RecylerView 的最大高度。我可以使用下面的代码设置最大高度。下面的代码使高度为当前屏幕的 60%。
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int a = (displaymetrics.heightPixels * 60) / 100;
recyclerview1.getLayoutParams().height = a;
但现在的问题是,如果它没有项目,那么它的高度也是 60%。 所以我想在没有项目时将其高度设置为0。
我想实现类似的目标。
if(recyclerview's height > maxHeight)
then set recyclerview's height to maxHeight
else dont change the height of recyclerview.
如何设置? 请帮帮我,我坚持下去了
最佳答案
这里有一些东西,你需要。继承 RecyclerView 并覆盖 onMeasure 如下:
@Override
protected void onMeasure(int widthSpec, int heightSpec) {
heightSpec = MeasureSpec.makeMeasureSpec(Utils.dpsToPixels(240), MeasureSpec.AT_MOST);
super.onMeasure(widthSpec, heightSpec);
}
确保在 makeMeasureSpec()
中将正确数量的像素作为第一个参数。我个人需要 RecyclerView,最多 240dps。
关于android - 如何设置 RecyclerView 最大高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42694355/