Android: Dois-je juste un coup de feu par propriété par l'utilisation de thèmes? Il n'y a rien comme CSS dans Android?
-
04-10-2019 - |
Question
Pour appliquer une définition de style comme thème, vous devez appliquer le style à une activité ou d'une application dans le manifeste Android. Lorsque vous le faites, chaque vue dans le Activité ou de l'application s'appliqueront chaque propriété qu'il prend en charge. Pour par exemple, si vous appliquez la CodeFont le style des exemples précédents à une Activité, puis tous les éléments Voir qui soutenir les propriétés de style de texte les appliquer.
Alors, quand je mets TextColor Red, faire tous les éléments avec le changement de texte au rouge ?? Arent il puissant spécificateur comme dans des feuilles de style CSS-? Je vois que le concept de styles (style="@style/CodeFont"
) possibles.
La solution
En réponse à vous pourriez trouver vos commentaires ce que vous cherchez la textAppearance
propriété.
Ouvrez le fichier themes.xml ici:
https: // android.googlesource.com/platform/frameworks/base/+/froyo-release/core/res/res/values/themes.xml
Si vous faites une découverte pour textAppearance vous remarquez diverses entrées telles que:
<style name="Theme">
<item name="textAppearanceButton">@android:style/TextAppearance.Widget.Button</item>
...
<item name="panelTextAppearance">?android:attr/textAppearanceInverse</item>
...
Cela vous permet dans une certaine mesure dans le style des composants tout au long de votre application comme indiqué dans l'exemple Maragues.
Ainsi, alors que ce ne est pas possible de contrôler pleinement le style de tous les éléments de l'enfant withint dire listview, défilement, etc, il y a un soutien limité pour contrôler les styles des composants à base de texte tels que la TextView et ou bouton.
Autres conseils
Si vous lisez juste au-dessous du texte cité:
Pour définir un thème pour toutes les activités de votre application, ouvrez le fichier AndroidManifest.xml et modifier la balise pour inclure l'attribut android: thème avec le nom du style
Si vous voulez un thème appliqué à une seule activité dans votre application, puis ajoutez l'androïde. Attribut thème à la balise à la place
Et un peu après, il décrit comment les propriétés de Hériter et override, comme CSS:
Si vous aimez un thème, mais que vous voulez modifier, ajouter simplement le thème en tant que parent de votre thème personnalisé. Par exemple, vous pouvez modifier le thème de dialogue traditionnel d'utiliser votre propre image de fond comme ceci:
<style name="CustomTextView" parent="@android:style/Widget.TextView">
<item name="android:background">@drawable/custom_background</item>
</style>
Ensuite, à partir interit CustomTextView
<style name="CustomTextView.RedText">
<item name="android:textColor">@color/red</item>
</style>
Une fois la conception de la mise en page XML, vous pouvez hériter d'un thème et remplacer les propriétés
<TextView
android:id="@+id/example"
style="@style/CustomTextView.RedText"
android:textColor="@color/green" />
Je pense que vous devriez lire à nouveau la page que vous vous LIÉ, il est bien expliqué:)