Ich habe ein LinearLayout
. Eine Seite hat eine alphabetic index
Wörter wie ein Wörterbuch und der andere hat eine ListView
. Ich möchte die Listenansicht zu einer bestimmten Ansicht scrollen, indem ich auf einen Buchstaben im alphabetischen Index klicke, während diese Indexansicht konstant bleibt.
Antworten:
1 für die Antwort № 1Sobald Sie Listener in Ihrem alphabetischen Index registriert haben und wissen, zu welchem Element Sie blättern möchten, können Sie verwenden smoothScrollToPosition
(hinzugefügt in API 8) auf der Listenansicht wie:
mListView.smoothScrollToPosition(position);
Wenn Sie viele Artikel haben, die Sie verwenden möchten smoothScrollToPositionFromTop
(hinzugefügt in API 11), um das Scrollen schneller zu machen. So was:
mListView.smoothScrollToPositionFromTop(position, offset, duration);
Offset Hier ist von wo soll das Scrollen beginnen und Dauer ist offensichtlich, wie lange es dauern wird. Sie können Ihre eigenen Algorithmen implementieren, um diese Werte für ein optimales Scroll-Erlebnis zu berechnen.