J'ai un TextView et je veux appliquer un Style que j'utilise pour tous les éléments TextView plus un autre style que je n'utilise que dans une Activité spécifique. Est-il possible de faire cela?Comment appliquer deux styles différents à un élément dans Android?
Répondre
Un style sous Android peut avoir un style parent.
Il suffit donc que MyActivityTextView
définisse GeneralTextView
comme style parent et modifie/ajoute des propriétés de style.
Ensuite, vous pouvez utiliser MyActivityTextView
pour certaines vues et GeneralTextView
pour les autres. Il est décrit au Defining Styles.
Vous pouvez étendre un style avec une autre dans votre style.xml:
<style name="current_weekday_white" parent="current_day_white">
<item name="android:textColor">#FFABAB</item>
</style>
hey là j'ai essayé ceci avec la vue de texte mais seulement le premier modèle fonctionne, pas le prolongé. des indices? –
Juste un petit morceau d'information qui pourrait ajouter à la valeur globale de la question - sans vergogne copié à partir de: http://developer.android.com/guide/topics/ui/themes.html#DefiningStyles
Si vous souhaitez hériter des styles que vous avez définis vous-même, vous n'avez pas besoin d'utiliser l'attribut parent. Au lieu de cela, préfixez juste le nom du style que vous voulez hériter du nom de votre nouveau style, séparé par un point. Par exemple, pour créer un nouveau style qui hérite du style CodeFont défini ci-dessus, mais faire de la couleur rouge, vous pouvez l'auteur du nouveau style comme celui-ci:
<style name="CodeFont.Red">
<item name="android:textColor">#FF0000</item>
</style>
avis qu'il n'y a pas d'attribut parent dans la balise, mais Parce que l'attribut name commence par le nom de style CodeFont (qui est un style que vous avez créé), ce style hérite toutes les propriétés de style de ce style. Ce style remplace ensuite la propriété android: textColor pour rendre le texte rouge. Vous pouvez référencer ce nouveau style en tant que @ style/CodeFont.Red.
Vous pouvez continuer à hériter comme cela autant de fois que vous le souhaitez, en enchaînant les noms avec des points. Par exemple, vous pouvez étendre CodeFont.Red pour être plus grand, avec:
<style name="CodeFont.Red.Big">
<item name="android:textSize">30sp</item>
</style>
Je trouve intéressant que, même si j'ai déjà visité et étudié/parcouru cette page, je ne connaissais pas ce truc intéressant et très utile. Merci @Bruiser. – DavidDraughn
- 1. Android appliquer des styles pour différents écrans
- 2. Deux styles FancyBox différents
- 3. Appliquer les styles par défaut dans Android
- 4. Pourquoi deux UIToolbars différents, par défaut à des styles différents?
- 5. Définition de deux styles différents pour ToolBar dans WPF?
- 6. QTableWidget: différents styles dans * un * QTableWidgetItem?
- 7. Trier par deux choses dans deux styles différents
- 8. Comment appliquer des styles à l'exécution dans Childwindow dans silverlight?
- 9. Comment appliquer des styles personnalisés à un rapport html jasper
- 10. Comment appliquer l'autorisation asp.net dans deux dossiers différents?
- 11. Comment appliquer des styles android sans changer .java?
- 12. appliquer des styles définis
- 13. Comment appliquer différents styles CSS sur différents événements d'un bouton ASP?
- 14. Comment appliquer: survoler un élément
- 15. Comment appliquer des styles css dans un widget d'intégration
- 16. Deux variables, une ligne horizontale, différents styles pour chaque variable
- 17. Comment appliquer des styles series à piechart dans ExtJs dynamiquement
- 18. Puis-je avoir deux différents styles dans une CustomControl
- 19. Application de styles différents à ItemsControl
- 20. Comment appliquer des styles CSS de manière conditionnelle dans AngularJS?
- 21. En utilisant @fontface, comment appliquer différents styles à différentes familles de polices?
- 22. Comment appliquer des styles à l'ensemble de l'application silverlight?
- 23. Appliquer des styles avec jQuery
- 24. styles de boutons Android différents selon le niveau de l'API
- 25. Comment appliquer les styles pour une variable
- 26. Comment créer et appliquer des styles grâce à la programmation dans Android?
- 27. Appliquer des styles aux widgets GWT
- 28. Comment appliquer les styles css à la liste déroulante codeigniter?
- 29. comment appliquer des styles pour parentItem lorsque sélectionnez le sous-élément dans le menu kendo
- 30. Comment réutiliser la même mise en page, mais appliquer des styles différents?
Oh je vois. C'est super, merci beaucoup. Une autre question cependant: le style de l'enfant peut-il aussi écraser les propriétés des parents? – Bruiser
Oui, il peut remplacer les propriétés parentes. –