web-dev-qa-db-fra.com

Modification de l'apparence du texte dans les styles et les thèmes d'une application Android

J'écris une application Android et je souhaite modifier le thème de mon application.

J'ai réussi à modifier la couleur d'arrière-plan de l'application en utilisant un thème, mais j'ai du mal à changer l'apparence du texte par défaut.

Ceci est mon fichier de ressources styles.xml.

<resources>
    <style name="QTheme" parent="Android:Theme.Light">
        <item name="Android:windowBackground">@color/q_green</item>
        <item name="Android:colorBackground">@color/q_green</item>
        <item name="Android:textAppearance">@style/QText</item> 
    </style>

    <color name="q_green">#008000</color>
    <color name="white">#FFFFFF</color>

    <style name="QText" parent="@Android:style/TextAppearance.Medium"> 
        <item name="Android:textSize">20sp</item> 
        <item name="Android:textColor">@color/white</item> 
        <item name="Android:textStyle">bold</item>
        <item name="Android:textFont">Verdana</item>
    </style>
</resources>

et juste pour vérifier, ceci est un exemple de l'un de mes TextViews Je veux utiliser le style ci-dessus dans mon fichier de mise en page.

<TextView
    Android:id="@+id/txtDevice"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_gravity="center"
    Android:text="@string/device" 
/>

Quelqu'un peut-il voir où je me trompe?

22
Pippa Rose Smith

Juste pour être complet, et pour Lusprog, c'est maintenant mon dossier de ressources

<resources>
    <style name="QTheme" parent="Android:Theme.Light">
        <item name="Android:windowBackground">@color/q_green</item>
        <item name="Android:colorBackground">@color/q_green</item>
        <item name="Android:textViewStyle">@style/QText</item> 
    </style>

    <color name="q_green">#008000</color>
    <color name="white">#FFFFFF</color>

    <style name="QText" parent="@Android:style/TextAppearance.Medium"> 
        <item name="Android:textSize">20sp</item> 
        <item name="Android:textColor">@color/white</item> 
        <item name="Android:textStyle">bold</item>
        <item name="Android:typeface">sans</item>
    </style>
</resources>

Merci également à Padma Kumar pour l'aide sur les polices.

39
Pippa Rose Smith

// supprime cette ligne de tes styles il n'y a pas d'attribut comme celui-ci

<item name="Android:textFont">Verdana</item>

// vous pouvez donner une police de caractères pour changer le style de police

<item name="Android:typeface">monospace</item>

// pour régler les styles

<TextView
    Android:id="@+id/txtDevice"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_gravity="center"
    style="@style/QText"
    Android:text="@string/device" 
/>
2
Padma Kumar