web-dev-qa-db-fra.com

Changer la couleur de la barre de défilement dans Android

Est-il possible de changer la couleur ou l'apparence de la barre de défilement dans un ScrollView ou ListView?

44
pgsandstrom

Découvrez l'exemple de projet ApiDemos dans le SDK. La disposition res/layout/scrollbar2.xml montre un moyen de styliser les barres de défilement.

Il existe des attributs distincts pour la piste de la barre de défilement et le curseur de la barre de défilement. La taille peut également être ajustée.

37
adamp

Vous pouvez définir la propriété Listview comme

Android:scrollbarSize="10dp"
Android:scrollbarThumbVertical="@drawable/custom_scroll_style"

Ici custom_scroll_style est un fichier xml sous le dossier drawable. Permet de créer le custom_scroll_style.xml.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >

<gradient
    Android:angle="45"
    Android:endColor="#FF3401"
    Android:centerColor="#ff5c33"
    Android:startColor="#FF3401" />

<corners Android:radius="8dp" />
<size Android:width="4dp"/>
<padding
    Android:left="0.5dp"
    Android:right="0.5dp" />

</shape>

Ici, j'ai une barre de défilement de couleur orange. Vous pouvez également utiliser des images si la taille de l'image est inférieure à 2 pixels au lieu de xml.

77