Lueur / couleur de bordure overscroll personnalisée pour ListView?
J'ai un ListView
et un style personnalisé qui semble fondamentalement juste comme Holo, mais avec des accents de jaune au lieu de bleu.
Quand je scroll vers le bas ou le haut de la liste, j'ai l'onu-raccord bleu. Je l'ai fait sur mesure à un drawable pour overscroll_glow.png
et overscroll_edge.png
mais je ne sais pas comment les utiliser.
Comment puis-je obtenir mon ListView
à l'utilisation de ces un drawable au lieu de ceux du système?
Serait le OverScroller
classe de l'aide?
source d'informationauteur Steven Schoen
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser une réflexion-comme solution pour pirater votre façon de changer cette couleur de l'éclat:
J'ai rencontré le même problème, et il semble comme une bonne solution, au moins jusqu'à ce que Google ajoute une API permettant de changer la couleur (ou l'image de marque de la couleur): http://evendanan.net/android/branding/2013/12/09/branding-edge-effect/
Il suffit d'utiliser cette bibliothèque. J'ai seulement eu un problème avec emballage contexte sur un menu déroulant dans un paysage sur un appareil qui n'a pas overscroll (HTC One X/Sens 4.5). Fonctionne comme un charme!
https://github.com/AndroidAlliance/EdgeEffectOverride
essayé cela? setOverscrollFooter(Drawable)?
Mise à jour de 1:
Oups. Nevermind. Vous l'avez probablement déjà vu cette discussion.
La lueur comportement est enveloppé dans le EdgeEffect classe. Vous pouvez désactiver par défaut les effets de bord en appelant
setOverScrollMode(OVER_SCROLL_NEVER)
sur votre ListView et puis rouler votre propre EdgeEffect classe (dont les détails sont au-delà de moi à ce point).Mise à jour 2:
Ouch. Les appels sur la EdgeEffect objet créé dans AbsListView sont profondément enfouies dans le défilement de la logique. Pourrait être difficile. Une solution facile serait une demande de fonctionnalité pour Android équipe pour un
setEdgeEffect(EdgeEffect)
méthode dans AbsListView...Voici la solution:
S'il vous plaît n'oubliez pas de changer le overscroll bord de la ligne:
- Je ajouter cette réponse parce que c'est l'un des meilleurs résultats sur le sujet et la top réponse n'est pas correcte plus.
Eh bien, c'est en fait pour pré-sucette versions, mais comme prévu, lorsque vous utilisez java réflexion, vous faire mordre en retour et c'est ce qui s'est passé, si vous utilisez le code
ce crash en Sucette + périphériques, car cette ressource n'est plus là. Donc, pour android 5.+ vous devez utiliser:
dans votre thème, redéfinies dans un
values-v21/themes.xml
fichier si vous n'êtes pas le ciblage min 21 version