In iOS gibt es die Methode flashScrollIndicators
für die Klasse UIScrollView
, mit der Sie die Bildlaufleisten kurz blinken lassen können, wie sie es bei der ersten Anzeige der Ansicht tun.
Ich kann in der Dokumentation das Android-Äquivalent dazu nicht finden, um die Bildlaufleisten in scrollbaren Ansichten kurz aufblitzen zu lassen (ScrollView, ListView, WebView, etc). Ich habe versucht, eine requestLayout()
auf die Ansicht auszugeben, aber das hat nicht funktioniert.
Der Grund, warum ich das frage, ist, dass meine Ansichten in ViewPager
enthalten sind und wenn der Benutzer auf eine andere Seite wischt, wurde diese Seite oft bereits gezeichnet und blinkt nicht auf den Bildlaufleisten.
beantworte meine eigene Frage hier
Die Methode heißt awakenScrollBars
und ist in der Klasse View
definiert. Leider ist die Methode protected
, also müssen Sie die ScrollView, ListView oder die andere Ansicht, deren Scrollbalken geflasht werden sollen, ableiten.
Alternativ blinken die public -Methoden scrollTo
und scrollBy
auch die Bildlaufleisten, aber nur wenn sich die Bildlaufposition tatsächlich geändert hat. So z. listView.scrollBy(0,0)
funktioniert nicht und listView.scrollTo(0,0)
funktioniert nur, wenn die Ansicht nicht bereits oben ist.
Wenn es nicht möglich ist, die Ansicht von der Unterklasse zu trennen, scheint das Folgende zu funktionieren, obwohl es zugegebenermaßen ein Hack ist:
%Vor%Wenn Sie die Ansicht auf "unsichtbar" und dann sofort auf "wieder sichtbar" einstellen, scheint das keine Neuzeichnungen zu verursachen, aber es hat den Nebeneffekt, dass die Bildlaufleiste ausgelöst wird.
Tags und Links android scrollview scrollbar