ConstraintLayout で配置したビューは、周囲のビューとの位置関係で位置やサイズなどが決まるため、実際に内部的なレイアウトが終了するまでは、ビューのサイズ情報などが取得できなかったりします(0 になります)。
View.doOnLayout()
などで、レイアウト完了するのを待ってからサイズを取得すればうまくいきます。
これは、TransitionManager
などでレイアウトを切り替えた直後なども同様です。
ConstraintLayout で配置したビューは、周囲のビューとの位置関係で位置やサイズなどが決まるため、実際に内部的なレイアウトが終了するまでは、ビューのサイズ情報などが取得できなかったりします(0 になります)。
View.doOnLayout()
などで、レイアウト完了するのを待ってからサイズを取得すればうまくいきます。
これは、TransitionManager
などでレイアウトを切り替えた直後なども同様です。