스크롤보기의 콘텐츠 크기를 늘리면 스크롤보기에 자녀의 크기 변경을 "알기"까지 시간이 걸립니다. ScrollView를 즉시 체크하도록 명령하려면 어떻게해야합니까?Android : Scrollview에 아이의 크기가 변경되었음을 알립니다. 어떻게?
저는 ScrollView의 LinearLayout에 ImageView가 있습니다.
내 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 이후에는보기가 더 커야하지만 scrollview는 자식이 여전히 작다고 생각하기 때문에 스크롤이 발생하지 않습니다.
fesms 나중에 onScroll을 다시 호출하면 잘 스크롤되어 어떤 식 으로든 자식이 더 크고 스크롤 가능하다는 것을 알게되었습니다.
어린이의 크기가 변경되었다는 것을 즉시 scrollview에 알릴 수 있습니까? scrollBy는 자식의 setLayoutParams 직후에 작동합니까?