ScrollView を拡張するクラス内で LinearLayout を使用しています。LinearLayout には、カスタム クラスのオーバーライドされた onScrollChanged() メソッド内で高さが変化する子の数があります。スクロールがゆっくり実行される場合、すべてが完璧に機能します。フリングの動きで高速スクロールすると、子供の身長が縮みます。オーバーライドされた onScrollChange() メソッドでログ出力を作成しましたが、レイアウト パラメータが適用されていないことが示されています。
Log.v("myapp", "getHeight: "+mChildHolder.getChildAt(i).getHeight());
Log.v("myapp", "getLayoutParams.height "+mChildHolder.getChildAt(i).getLayoutParams().height);
出力:
getHeight: 45
getLayoutParams.height 90
フリング後にスクロールビューで LayoutParams を適用できない理由はありますか?