Wenn ich die Größe des Inhalts einer Scrollview vergrößern, braucht der Scrollview eine Weile, um diese Größenänderung seines Kindes zu "kennen". Wie kann ich ScrollView bestellen, um sofort zu prüfen, ob das Kind das Kind ist?Android: Benachrichtigen Sie Scrollview, dass sich die Größe des Kindes geändert hat: Wie?
Ich habe eine ImageView in einem LinearLayout in einer ScrollView.
In meiner ScaleListener.onScale, ändere ich die Größe meiner LinearLayout. Ich versuche dann eine Schriftrolle auf dem Scrollview zu bestellen. Im 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);
tritt jedoch kein Scrollen, wenn sie in der Situation vor der Skalierung Scrollen nicht möglich war, weil die Sicht zu klein war, zu blättern. Nach dem setLayoutParams sollte die Ansicht größer sein, aber es findet kein Bildlauf statt, da die Scrollview das Kind als noch klein ansieht.
Wenn ein fms ms später der onScroll erneut aufgerufen wird, scrollt es gut, es hat irgendwie herausgefunden, dass das Kind größer und scrollbar ist.
Wie kann ich die scrollview sofort benachrichtigen, dass sich die Größe des Kindes geändert hat? Damit scrollBy direkt nach setLayoutParams auf seinem Kind funktioniert?