Je suis en train de définir un thème pour un appwidget, et l'ont appliqué à le niveau de l'application. J'ai un thème comme,
<style name="theme.dark"> <item name="android"background">#000000</item> </style>
5 Réponses :
La réponse est que vous ne pouvez pas appliquer de thème de manière dynamique à un appwidget. Il n'y a pas de solution autre que de fournir plusieurs mises en page chacune de manière statique à un thème particulier, puis choisissez le bon thème / la mise en page lorsque vous construisez vos vues à distance. P>
Utilisez xml p> SETSVISIBILIBILITY CODE> Pour masquer les mises en page avec ses propres styles en arrière-plan.
Comme ceci:
Je ne vois pas comment ça vaut mieux que de choisir un fichier de mise en page ou une autre ... C'est la même chose, mais dans un fichier de données.
Oh, comment feriez-vous cela, pouvez-vous donner l'exemple?
Puisque nous ne pouvons pas utiliser de manière dynamique sur un appwidget, je suggère une solution simple suivante - juste basculer entre les fichiers de mise en page:
Supposons que nous ayons deux mises en page différentes: P>
Nous définissons notre mise en page comme suit: p> et lorsque nous aurons besoin de le basculer en second par: p> Cette solution fonctionne bien pour moi. p> p>
C'est ce que j'ai fini par faire aussi, mais lorsque vous commencez avec 2 dispositions pour le port et la terre, Times N Thèmes, Times N Mises en page pour différentes tailles d'écran, elle n'est pas gérable. La mise en page obtient des moyens appliquer soigneusement le même changement à chacune des différentes mises en page.
Vous êtes absolument juste en ce qui concerne la situation sur laquelle nous aurons différents thèmes de taille. Je crois qu'il existe des trembles pour ça :)
Utiliser un contextHemewrapper devrait faire le tour http://developer.android.com /reference/andrroid/view/contextthemewrapper.html p>
contextthemewrapper code> s ou tout
Contexte code> est effectivement désactivant pour
RemoteView code> S parce que le
RemoteView code> s est sérialisé et envoyé à un autre applications comme les lanceurs. De telles applications les attirent ensuite à l'aide de leur
Contexte Code> S
Utilisez le style style = "@ Android: style / code>
widget. (Thème). (ControlType) Code> Code>" code> " dans la disposition correspondante, par exemple holo fort> sur un bouton fort>:
= code> ci-dessus styte un bouton équivalent à quel réglage < code> Android: theme = "Android: code>
thème.holo code> strong>
" code> dans le manifeste ferait à ce bouton, était-ce un activité. p> p>