Le composant Switch permet aux utilisateurs de basculer entre deux états : coché et décoché. Utilisez un bouton bascule pour permettre à l'utilisateur d'effectuer l'une des actions suivantes :
- Activez ou désactivez un paramètre.
- Activez ou désactivez une fonctionnalité.
- Sélectionnez une option.
Le composant comporte deux parties : le bouton et la piste. Le bouton est la partie déplaçable du commutateur, et la piste est l'arrière-plan. L'utilisateur peut faire glisser le curseur vers la gauche ou la droite pour modifier l'état du bouton. Ils peuvent également appuyer sur le bouton bascule pour la cocher et la décocher.
Compatibilité des versions
Cette implémentation nécessite que le minSDK de votre projet soit défini sur le niveau d'API 21 ou supérieur.
Dépendances
Implémenter un commutateur
L'exemple suivant est une implémentation minimale du composable Switch :
Résultats
Créer une miniature personnalisée
Vous pouvez transmettre n'importe quel composable pour le paramètre thumbContent afin de créer une miniature personnalisée. Voici un exemple de bouton bascule qui utilise une icône personnalisée pour son curseur :
Résultats
L'apparence de la case non cochée est la même que dans l'exemple de la section précédente. Toutefois, une fois cochée, cette implémentation se présente comme suit :
Utiliser des couleurs personnalisées
Utilisez le paramètre colors pour modifier la couleur du pouce et de la piste d'un bouton bascule, en tenant compte de l'état du bouton bascule.
Résultats
Points essentiels
Paramètres de base :
checked: état initial du bouton.onCheckedChange: rappel appelé lorsque l'état du bouton bascule change.enabled: indique si le bouton bascule est activé ou désactivé.colors: couleurs utilisées pour le bouton bascule.
Paramètres avancés
thumbContent: permet de personnaliser l'apparence du pouce lorsque la case est cochée.colors: utilisez cette option pour personnaliser la couleur de la piste et du bouton.
Collections contenant ce guide
Ce guide fait partie des collections de guides de démarrage rapide organisées qui couvrent des objectifs de développement Android plus larges :