24

我正在编写一个 android 应用程序,我想改变我的应用程序的主题。

我已经设法通过使用主题来更改应用程序的背景颜色,但我正在努力更改默认文本外观。

这是我的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>

只是为了检查一下,这是我想在布局文件中使用上述样式的TextView之一。

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

谁能看到我哪里出错了?

4

2 回答 2

44

只是为了完整性,并完全归功于 Lusprog,这现在是我的资源文件

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

还要感谢 Padma Kumar 的字体帮助。

于 2012-11-16T12:46:27.930 回答
3

//从你的样式中删除这一行没有这样的属性

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

//你可以给字体改变字体样式

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

//用于设置样式

<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" 
/>
于 2012-11-16T12:14:30.843 回答