Comment appliquer deux styles différents à un élément dans Android?
J'ai un TextView et je souhaite appliquer un Style que j'utilise pour tous les TextView éléments plus un autre style, je ne l'utilise que dans une Activité spécifique. Est-il possible de faire cela?
source d'informationauteur Bruiser
Vous devez vous connecter pour publier un commentaire.
Un style sous Android peut avoir un style parent.
Alors juste
MyActivityTextView
définirGeneralTextView
en tant que parent de style, et de modifier/ajouter des propriétés de style.Ensuite, vous pouvez utiliser
MyActivityTextView
pour certains points de vue etGeneralTextView
pour les autres.Il est décrit dans Définition De Styles.
Juste une petite information qui pourrait ajouter de la valeur globale de la question - copié sans vergogne à partir de: http://developer.android.com/guide/topics/ui/themes.html#DefiningStyles
Si vous voulez hériter de styles que vous avez défini vous-même, vous n'avez pas à utiliser l'attribut parent. Au lieu de cela, juste préfixe le nom du style que vous souhaitez hériter du nom de votre nouveau style, séparées par une période. Par exemple, pour créer un nouveau style qui hérite de la CodeFont style défini ci-dessus, mais faire de la couleur rouge, vous pouvez créer un nouveau style comme ceci:
Avis qu'il n'est pas parent de l'attribut dans la balise, mais parce que l'attribut de nom commence par la CodeFont nom du style (qui est un style que vous avez créé), ce style hérite de toutes les propriétés de style de ce style. Ce style alors remplace le android:textColor propriété de rendre le texte en rouge. Vous pouvez faire référence à ce nouveau style que @style/CodeFont.Rouge.
Vous pouvez continuer d'en hériter comme ceci autant de fois que vous le souhaitez, en enchaînant les noms avec des périodes. Par exemple, vous pouvez étendre CodeFont.Rouge pour être plus grand, avec:
Vous pouvez étendre un style à un autre dans votre style.xml: