Comment ajouter plusieurs attributs de thème à la même activité sur Android Manifest?
J'ai un android se manifester avec une activité que je veux appliquer des styles à:
<activity android:label="@string/app_name" android:name="Language" android:theme="@android:style/Theme.NoTitleBar>
Est la façon dont il regarde maintenant, mais tout en gardant la NoTitleBar attribut, je voudrais ajouter cet attribut:
android:style/Theme.Light"
Mais je suis tellement nouvelle pour Android, que je ne peux pas le comprendre.
S'il vous plaît aider!
source d'informationauteur Stephen J.
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas avoir plus d'un thème appliqué à la fois dans votre manifeste.
Je crois qu'il y est un thème
Theme.Light.NoTitleBar
qui permettra de faire ce que vous voulez - mais je vais vous montrer ci-dessous comment vous pouvez facilement faire vous-même et de personnaliser plus.Ce que vous devez faire est de créer un thème qui a
Theme.NoTitleBar
ouTheme.Light
que celle du parent et personnalise les bits que vous souhaitez, dans ce cas le plus simple est de créer un thème avecTheme.Light
que celle du parent et vient masquer la barre de titre (plutôt que d'avoir l'Theme.NoTitleBar
en tant que parent et d'avoir à tout faire à la lumière qui est beaucoup plus difficile!).Vous pouvez le faire avec le code suivant dans votre
themes.xml
fichier dans levalues
dossier:Ensuite utiliser
android:theme="@style/MySuperTheme"
pour votre activité (ou vous pouvez même l'appliquer à l'ensemble de votre demande par le placer sur l'élément de la demande -- si vous appliquez un style à une activité individuelle et en ont qu'un seul pour l'ensemble de l'application et puis le style de l'activité individuelle sera celui affiché).Prendre un coup d'oeil à l'Android themes.xml pour une liste de toutes les choses que vous pouvez personnaliser à votre propre thème.
Vous pouvez également regarder tous les Android styles pour voir comment ils sont fait.
Vous aurez besoin d'au moins 2 styles, le meilleur héritant de styles de base, par exemple
Thème.Matériel
variantes, ou si vous utilisezappcompat
puisTheme.AppCompat
variantes. Dans chaque style de remplacer des valeurs tels que les couleurs, un drawable etc avec le thème de valeurs spécifiques.values/styles.xml
Ce sera suffisant si vous utilisez uniquement le cadre ou
appcompat
attributs (par exemple,colorAccent
android:textColorPrimary
etc) dans vos mises en page. Mais si vous avez besoin de vos propres attributs (par exemple, une dessinés avec de la couleur qui est différente par thème), alors vous aurez besoin de définir attributs personnalisés.values/attrs.xml
Spécifier thème spécifique de valeurs d'attributs personnalisés:
values/styles.xml
Reportez-vous ensuite à votre attributs personnalisés avec
?attr/
préfixe dans les mises en page, les menus etc:menu/my_menu.xml
Découvrez mon blog pour le guide complet.