Hériter editText de Thème.De la lumière avec Holo thème parent
Je veux hériter de la editText
de android:Theme
alors que mon thème parent est android:Theme.Holo.Light
.
Est-il une manière "propre" de le faire à court de copie des ressources à partir de l'android sdk dossier dans mon projet?
Vous devez vous connecter pour publier un commentaire.
Donc, mon idée serait d'avoir un thème personnalisé (vraiment juste un style qui s'étend à partir de
android:Theme.Holo.Light
, puis remplace leEditText
attributs à utiliser les paramètres du parent deandroid:Theme
.Il ressemble
android:Theme.Holo.Light
utilise uneditTextStyle
attribut de référence pour modifier l'apparence de laEditTexts
:De sorte que vous pouvez la remplacer par de la
editTextStyle
deandroid:Theme
:Ensuite, tout ce que vous avez à faire est d'appliquer
YourTheme
dans votre manifeste (ou dans le code si vous voulez vraiment) pour obtenir votre thème personnalisé. Vous pouvez bidouiller des trucs autres, découvrez toutes les actions des thèmes ici: https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/themes.xmlModifier
Je viens de tester cela et compris qu'il semble que
android:style/Widget.EditText
ne semble pas s'appliquer l'arrière-plan à partir d'anciennes versions d'android, le plus probable, car il utilise une référence àandroid:editTextBackground
, quiHolo.Light
ensembles. J'ai juste essayé aussi de changerandroid:editTextBackground
manuellement à l'héritageEditText
drawable, et cela fonctionne pour moi.Remarque: Seulement d'appliquer ce réglage sur votre
styles.xml
sous/values-v11
, puisque seule la version 3.0 et peut utiliserandroid:editTextBackground
, et les anciennes versions d'android sera déjà utiliser l'ancienEditText
arrière-plan. Si l'application min est >= API 11, vous n'avez pas besoin de vous inquiéter à ce sujet.<item name="android:editTextStyle">@android:style/Widget.EditText</item>
? Juste "editTextStyle" me donne une erreur, en disant qu'aucun attribut ne peut être trouvé.Oui vous créer un styles.xml et de définir le style du parent à tout ce que vous voulez. 🙂
Exemple de la façon de définir un style:
Utiliser ce style comme:
Lire plus à ce sujet ici:
http://developer.android.com/guide/topics/ui/themes.html#DefiningStyles
<style name="editTextStyle" parent="@android:Theme.Light:style/editTextStyle"> </style>