Changing the text appearance in styles and themes for an Android app

眉间皱痕 提交于 2019-12-12 08:17:50

问题


I am writing an android app and I am wanting to alter the theme of my app.

I have managed to alter the background colour of the app by using a theme, but I am struggling to change the default text appearance.

This is my styles.xml resource file.

<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>

and just to check, this is an example of one of my TextViews I want to use the above style in my layout file.

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

Can anyone see where I am going wrong?


回答1:


Just for completeness, and full credit to Lusprog, this is now my resources file

<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>

Also thanks to Padma Kumar for the font help.




回答2:


//remove this line from your styles there is no attribute like this

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

//you can give typeface for changing font style

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

//for settting the 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" 
/>


来源:https://stackoverflow.com/questions/13416315/changing-the-text-appearance-in-styles-and-themes-for-an-android-app

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!