2016-12-22 2 views
4

En utilisant AppCompatActivity, vous devez étendre le thème AppCompat.Quelle est la liste complète des attributs que vous pouvez personnaliser pour les thèmes AppCompat et quelles sont leurs valeurs par défaut?

Quelle est la liste complète des attributs que vous pouvez personnaliser, et quelle est leur valeur par défaut?

J'ai recueilli une liste de tous ceux que j'ai trouvé mais je ne sais pas si elle est une aide complète

moi de le compléter

<style name="Theme.Custom.AppCompat" parent="Theme.AppCompat"> 
    <item name="colorAccent">@color/accent_material_dark</item> 
    <item name="colorButtonNormal">@color/button_material_dark</item> 
    <item name="colorControlActivated">?attr/colorAccent</item> 
    <item name="colorControlHighlight">@color/ripple_material_dark</item> 
    <item name="colorControlNormal">?android:attr/textColorSecondary</item> 
    <item name="colorPrimary">@color/primary_material_dark</item> 
    <item name="colorPrimaryDark">@color/primary_dark_material_dark</item> 
    <item name="colorSwitchThumbNormal">@color/switch_thumb_material_dark</item> 
    <item name="controlBackground">?attr/selectableItemBackgroundBorderless</item> 
    <item name="android:colorBackground">@color/background_material_dark</item> 
    <item name="android:colorForeground">@color/foreground_material_dark</item> 
    <item name="android:textColorPrimary">@color/abc_primary_text_material_dark</item> 
    <item name="android:textColorPrimaryInverse">@color/abc_primary_text_material_light</item> 
    <item name="android:textColorSecondary">@color/abc_secondary_text_material_dark</item> 
    <item name="android:textColorSecondaryInverse">@color/abc_secondary_text_material_light</item> 
    <item name="android:windowBackground">@color/background_material_dark</item> 
</style> 
<style name="Theme.Custom.AppCompat.Light" parent="Theme.AppCompat.Light"> 
    <item name="colorAccent">@color/accent_material_light</item> 
    <item name="colorButtonNormal">@color/button_material_light</item> 
    <item name="colorControlActivated">?attr/colorAccent</item> 
    <item name="colorControlHighlight">@color/ripple_material_light</item> 
    <item name="colorControlNormal">?android:attr/textColorSecondary</item> 
    <item name="colorPrimary">@color/primary_material_light</item> 
    <item name="colorPrimaryDark">@color/primary_dark_material_light</item> 
    <item name="colorSwitchThumbNormal">@color/button_material_light</item> 
    <item name="controlBackground">?attr/selectableItemBackgroundBorderless</item> 
    <item name="android:colorBackground">@color/background_material_light</item> 
    <item name="android:colorForeground">@color/foreground_material_light</item> 
    <item name="android:textColorPrimary">@color/abc_primary_text_material_light</item> 
    <item name="android:textColorPrimaryInverse">@color/abc_primary_text_material_light</item> 
    <item name="android:textColorSecondary">@color/abc_secondary_text_material_light</item> 
    <item name="android:textColorSecondaryInverse">@color/abc_secondary_text_material_light</item> 
    <item name="android:windowBackground">@color/background_material_light</item> 
</style> 

De plus, quelle est la meilleure façon de créer un thème AppCompat personnalisé dans Android?

+0

Allez fouiner dans le code source ... https://github.com/android/platform_frameworks_support/blob/master/v7/appcompat/res/values/themes.xml#L32 –

+0

Je veux créer la liste complète (v7 et android SDK) attr et leur valeur par défaut de chaque appCompatTheme. il n'est pas simple de le trouver – Xan

Répondre

4

Quelle est la liste complète des attributs que vous pouvez personnaliser

C'est dans ces massifs blocs mis en surbrillance

Android Source - Theme.AppCompat attributes - res/values/attrs.xml
Android Source - base Theme attributes - res/values/attrs.xml

quelle est leur valeur par défaut?

Je suis sûr que ces valeurs sont là quelque part dans les style.xml fichiers, mais il y a beaucoup de ces fichiers que vous pouvez utiliser la fonction de recherche de Github pour aller trouver.

Remarque: Vous n'avez pas à redéfinir toutes les valeurs.

La "meilleure façon" de créer un thème personnalisé? Peut-être en utilisant le Theme Editor.

+0

il y a quelques erreurs: - v7 attr n'est pas assez, vous pouvez utiliser android attr aussi bien dans le thème - trouvé la valeur par défaut pour le thème de base n'est pas simple, car sont dans divers fichiers (certains sont en v7 et certains sont en sdk android) - l'éditeur de thème est bon mais n'est pas complet avec tous les attr – Xan

+0

Tout ce qui a le préfixe 'android:' peut être trouvé ici. https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/attrs.xml#L24 –

+0

bien mais il n'y a pas de valeur dans appCompatTheme – Xan