2011-06-25 2 views
2

J'ai des vues dans les mises en page et je veux que l'utilisateur sache qu'il y a plus de cellules à voir et à faire défiler. Les listes vues n'ont pas de barre de défilement visible par défaut.Android listview, afficher la fin de la liste utilisateur, puis défiler automatiquement vers le haut

Une suggestion que j'ai eu était de commencer à afficher la liste à partir de la fin de celui-ci et ensuite défiler automatiquement vers le haut vers le haut. Cela montrerait à l'utilisateur qu'il y a quelque chose à faire défiler.

Comment cela se ferait-il sur Android?

Répondre

9

Vous pouvez utiliser les fonctions qui font partie de la classe ListView:

smoothScrollByOffset(int offset); 

ou

smoothScrollToPosition(int position); 

Ou si vous voulez faire défiler un par un, vous pouvez utiliser des fonctions telles que:

private void scrollToNext() { 
int currentPosition = getListView().getFirstVisiblePosition(); 
if (currentPosition == getListView().getCount() - 1) 
    return; 
getListView().setSelection(currentPosition + 1); 
getListView().clearFocus(); 
} 

private void scrollToPrevious() { 
int currentPosition = getListView().getFirstVisiblePosition(); 
if (currentPosition == 0) 
    return; 
getListView().setSelection(currentPosition - 1); 
getListView().clearFocus(); 
} 
Questions connexes