8
votes

Thèmes Android Difficulté à mettre en œuvre le plus simple: personnalisé par thème couleur

Je suis un débutant dans le développement Android et, bien que le codage rend la parfaite sens, des thèmes Android IMHO ne

J'ai du mal à mettre en œuvre cette tâche simple:

J'ai (par exemple) un couleur nommée "bla" xxx

utilisé partout dans les mises en page ou le code XML et par différentes plones comme "@ couleur / bla"

je voudrais Simplement comme faire de cette Valeur de couleur change par thème

Alors, quand j'utilise mythème1, bla devrait être # f0f0f0 et quand j'utilise mythème2 bla devrait être # 00FF00

J'ai lu sur des thèmes et je ne peux toujours pas savoir comment implémenter cette tâche simple, car mon application ne nécessite pas de styles spéciaux, etc., juste des couleurs à thème.

Merci à l'avance

mise à jour:

Après le lien fourni par Mohamed_abdallah, j'ai réussi à créer des Couleurs personnalisées en les définissant dans attrtis.xml et styles.xml:

attrtis.xml xxx

styles .xml xxx

mais maintenant un problème beaucoup plus grave se pose

Je peux utiliser avec succès la couleur? color_item_title dans chaque vue, Ainsi, les boutons et le texte reçoivent réellement cette couleur.

mais en utilisant ça? Color_Item_title sur les somptues coutures personnalisées ou ListView (C'est-à-dire des vues qui sont gonflées pendant l'exécution) provoque un crash.

Donc, en utilisant? Color_Item_title Dans une liste de licenciement Listvietem Crash sur Runtime avec un message influal à cette ligne :(

Il se bloque également à mes tiroirs: (erreur d'inflation à nouveau) xxx


2 commentaires

Cochez cette case Question


Bien que votre lien ait fourni de l'aide, un problème plus grave surgi alors j'ai mis à jour mon poste


3 Réponses :


0
votes

La seule façon de réaliser ce que vous voulez, c'est de définir deux couleurs différentes, bla et bla2 par exemple, et référez-le dans vos thèmes


0 commentaires

3
votes

Après avoir cherché et essayer, j'ai eu le conseil qu'il y a des choses que vous pouvez faire et certaines choses que vous ne pouvez pas strong>.

vous pouvez strong> p> a) Définissez vos propres attributs dans ATTROS P>

<resources>

    <style name="AppBaseThemeDark" parent="android:Theme.Black">
           <item name="rounded_background">@drawable/round_rect_shape_dark</item>    
           </style>

    <style name="AppBaseThemeLight" parent="android:Theme.Light">
           <item name="rounded_background">@drawable/round_rect_shape_white</item>     
           </style>

</resources>


0 commentaires

0
votes

Cela fonctionne pour moi comme le suggérait John S, mais dans la définition des attributs, j'ai dû ajouter "Couleur | référence" au lieu de "Référence". Donc, mon fichier ATTROS.XML ressemble à ceci:

<?xml version="1.0" encoding="utf-8"?>
    <resources>
        <attr name="rounded_background" format="color|reference" />   
    </resources>


0 commentaires