Comment définir la largeur/hauteur de n'importe quel widget par Thème dans Android
J'ai besoin d'utiliser les mêmes widgets(boutons,editext,textviews) avec les mêmes propriétés, comme la largeur,la hauteur,textColor,la taille, etc dans de multiples écrans (xmls). J'ai donc créé des styles pour les widgets (un style de bouton, un pour modifier le texte ...) et j'ai défini tous ces styles dans mon CustomTheme.
Mon Problème est
Si j'ai de définir la présentation de la largeur/hauteur également dans des styles et de simplement donner style="@style/myButtonStyle" pour le bouton en xml fonctionne bien, même si je ne n pas mentionner largeur/hauteur en xml (peut-être l'héritage de Style).
Si je donne la largeur/hauteur en xml sans style prop et de simplement donner mon thème Personnalisé à l'activité est d'amener tous les styles que j'ai précisé dans le thème. Mais je ne n pas mentionner largeur/hauteur en xml c'est le déclenchement d'une exception en disant que u ont spécifier un modèle largeur/hauteur, je l'ai déjà précisé dans le style lui-même.
mon fichier de thème est
<style name="Theme.Blue" parent="android:Theme">
<item name="android:buttonStyle">@style/button222</item>
<item name="android:textViewStyle">@style/text222</item>
<item name="android:editTextStyle">@style/edittext222</item>
</style>
et mon button222 style est
<style name="button222" parent="@android:style/Widget.Button">
<item name="android:layout_width">@dimen/mWidth</item>
<item name="android:textColor">#F56266</item>
<item name="android:textSize">20sp</item>
</style>
et j'ai précisé dimension
<dimen name="mWidth">180dip</dimen>
et j'ai utilisé comme ça dans layout.xml
<Button android:layout_width="180dip"
android:layout_height="wrap_content"
android:text="This is large text."
/>
<Button
android:layout_height="wrap_content"
android:text="This is regular text one"
/>
<Button
style="@style/button222"
android:layout_height="wrap_content"
android:text="This is regular text."
/>
et c'est de donner une exception en disant spécifier la largeur de la présentation, qui je l'ai mentionné dans button222 de style et d'essayer de les utiliser par le biais de mon thème.
Vous devez vous connecter pour publier un commentaire.
Vous devez insérer la valeur d'une variable dans le style xml:
Alors vous simplement devrait faire référence à la valeur de la dimension. Donc, dans votre fichier de mise en page, vous allez écrire:
android:layout_height="@dimen/buttonHeight"
pour chaque bouton? comment cette raccourcir?Pas sûr de ce que votre objectif est: est-il important pour vous de vous éviter d'avoir à mentionner
layout_width
etlayout_height
dans le layout.xml fichier, ou vous êtes simplement à la recherche de toute manière d'utiliser les valeurs du thème, sans référence à un style particulier?Dans ce dernier cas, la solution serait
où dans votre CustomTheme vous avez défini un attribut
myCustomWidth
.Juste référence au style via app thème et cette erreur disparaît. Faire comme si: