スクロールビューのコンテンツのサイズを大きくすると、スクロールビューには子供のサイズ変更を「知る」までに時間がかかります。スクロールビューにすぐに子をチェックするように指示するにはどうしたらいいですか?Android:スクロールビューに子供のサイズが変更されたことを通知する:どのように?
私はImageViewをScrollViewのLinearLayoutに持っています。
私のScaleListener.onScaleでは、私はLinearLayoutのサイズを変更します。私はスクロールビューでスクロールを注文しようとします。 ScaleListener.onScaleで:
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) imageView.getLayoutParams();
params.width = (int) (startX * scaleFactor);
params.height = (int) (startY * scaleFactor);
imageView.setLayoutParams(params);
(...)
scrollView.scrollBy(scrollX, scrollY);
しかし、スクロールはビューがスクロールするにはあまりにも小さかったので、状況にスケーリングスクロールが可能ではなかったの前にするときに発生しません。 setLayoutParamsの後では、ビューは大きくなるはずですが、スクロールビューでは子がまだ小さいと考えるため、スクロールは発生しません。
fesms後でonScrollが再び呼び出されると、スクロールがうまくいき、子が大きくスクロール可能であることがわかりました。
スクロールビューに子供のサイズが変更されたことを直ちに通知するにはどうすればよいですか?そのため、scrollByはその子のsetLayoutParamsの直後に動作しますか?