J'ai besoin d'utiliser les mêmes widgets (boutons, éditxt, textviews) avec les mêmes propriétés telles que la largeur, la hauteur, la textcolor, la taille, etc. dans plusieurs écrans (XMLS). Donc, j'ai créé des styles pour des widgets individuels (un style pour le bouton, un pour édition de texte ...) et j'ai défini tous ces styles dans ma personnalité.
Mon problème est p>
si je définis la largeur de la mise en page / Hauteur également dans les styles et simplement donner style = "@ style / mybuttonstyle" pour le bouton de XML fonctionne bien, même si je n'ai pas mentionné la largeur / la hauteur en XML (peut être héritée du style). p>
Si je donne la largeur / la hauteur en XML sans le processeur de style et simplement donner mon thème personnalisé à l'activité consiste à apporter tous les styles que j'ai spécifiés dans le thème. Mais je n'ai pas mentionné la largeur / la hauteur en XML, il augmente une exception indiquant que vous avez spécifié la largeur / hauteur de mise en page, que j'ai déjà spécifiée dans le style lui-même. P>
Mon fichier thème est p> et mon style de bouton222 est p> <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."
/>
3 Réponses :
Vous ne savez pas quel est votre objectif: est-il important pour vous d'éviter de devoir mentionner Dans ce dernier cas, la solution serait p> où dans votre personnalité que vous avez définie. Un attribut layout_width code> et
layout_height code> dans le fichier layout.xml ou êtes-vous à la recherche de Toute façon d'utiliser les valeurs du thème sans se référer à un style individuel?
myCustomWidth code>. p> p>
Tx @ marc1s. Je voudrais éviter layout_width et layout_height dans le fichier layout.xml.
Oui et la raison serait de disposer de tout le bouton, des champs de texte ou de la définition whatevers dans la définition de style plutôt que de la partie de celui-ci et de se séparer dans certaines valeurs.
Vous devez insérer une valeur de dimension dans le style XML: alors vous devez simplement référence à la valeur de la dimension. Donc, dans votre fichier de mise en page, vous écrirez: p>
Vous devez donc toujours écrire Android: layout_height = "@ dimen / boutonight" code> pour chaque bouton? Comment cela raccourcit-il?
Il suffit de faire référence au style via l'application Theme et cette erreur disparaîtra. Faites-le comme:
style="@style/Theme.blue"