recyclerView が表示される前に測定すると、現在問題が発生しています。「展開」アニメーションを開始するには、measuredHeight が必要です。
これは、私が取り組んでいるコードの 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);
しかし、recyclerView.getMeasuredHeight(); に対して 0 を取得します。
画面にレンダリングされる前に recyclerView の高さを適切に測定する方法はありますか?
ありがとう。