我目前在测量 recyclerView 出现之前遇到问题。我需要测量的高度才能启动“展开”动画。
这是我之前在我正在处理的代码中为 gridView 完成的,我正在尝试使用 GridLayoutManager 将其迁移到 RecyclerView
final int widthSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
final int heightSpec = View.MeasureSpec.makeMeasureSpec(MEASURED_SIZE_MASK, View.MeasureSpec.AT_MOST);
mGridView.measure(widthSpec, heightSpec);
int targetHeight = mGridView.getMeasuredHeight();
它正在与 gridView 一起使用,但如果我在 recyclerView 上调用具有相同测量规格的测量方法,结果始终是 16777215,我认为这可能是某些东西的最大值,但我不能说是什么。
我看到一些帖子解释说,可以通过使用以下测量规格来测量视图,然后在屏幕上渲染视图之前对其进行测量:
final int widthSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
final int heightSpec = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
但我得到 0 recyclerView.getMeasuredHeight(); 。
有没有办法在屏幕上渲染之前正确测量 recyclerView 的高度?
Thanks.