2010-11-24 3 views
0

est-il possible de définir un délai auquel la barre de défilement sur le côté droit apparaît? L'idée est que lorsque l'utilisateur commence à défiler, la barre de défilement n'apparaît pas immédiatement, mais si l'utilisateur fait défiler assez longtemps.Afficher la barre de défilement après un délai donné

Je cherchais depuis un certain temps maintenant et trouvé juste une méthode getter getScrollDefaultDelay(), qui obtient le temps en ms quand la barre de défilement disparaît. Comment pourrais-je contrôler le retard dans mon cas?

meilleures salutations

Répondre

0

Désactiver la barre de défilement à l'aide setVerticalScrollBarEnabled et pour écouter « défilement des changements », que ce soit par impérieuses onScrollChanged ou en définissant une sorte d'écoute de défilement. Si les utilisateurs défilent, envoyez un message différé à un Handler. Lorsque l'utilisateur défile à nouveau, supprimez le message et envoyez-en un nouveau avec le même délai. Si le message est affiché, affichez à nouveau la barre de défilement. Quand il fait défiler à nouveau, cachez-le à nouveau. Rincez et répétez.

Vous voudrez probablement désactiver l'évanouissement de la barre de défilement par défaut, hélas, cela n'est apparemment possible que si vous utilisez l'API Version 5, en utilisant setScrollbarFadingEnabled.

+0

Approche intéressante. J'ai également trouvé le setVerticalScrollBarEnabled et désactivé la barre de défilement, bien que je n'ai pas pensé à écouter les événements onScrollChanged et à l'activer/désactiver manuellement. Merci Timo pour le partage, continuez! – Devdroid

Questions connexes