如何为精确视图应用主题



例如,当我在XML中定义样式标记时,所有类型的所有视图都会获得该主题。视图类型样式之间的差异有什么解决方案吗?下面是一些代码:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="buttonTheme" parent="android:Theme.Holo">
        <item name="android:drawableLeft">@drawable/ic_launcher</item>
    </style>
    <style name="textTheme" parent="android:Theme.Holo">
        <item name="android:textColor">#ff0000</item>
    </style>
</resources>

我认为在风格和主题之间有一个小小的混淆。 您正在谈论为应用程序中的小部件定义自定义样式。 主题是这些样式的集合,全局应用于活动或应用程序。 您为按钮和文本视图创建的自定义样式可以应用于新的自定义主题,以便所有按钮和文本项共享相同的属性。

我认为您正在寻找的更像这样的东西。

<style name="ApplicationTheme" parent="android:Theme.Holo">
    <item name="buttonStyle">@style/MyButtonStyle</item>
    <item name="textAppearance">@style/MyTextAppearance</item>
</style>
<style name="MyButtonStyle" parent="android:Widget.Button">
    <item name="android:drawableLeft">@drawable/ic_launcher</item>
</style>
<style name="MyTextAppearance" parent="android:TextAppearance">
    <item name="android:textColor">#ff0000</item>
</style>

在这里,我们创建了两个新样式(一个用于按钮外观,一个用于默认文本外观),然后将它们作为属性应用于新的自定义主题中。 现在,您可以通过引用@style/ApplicationThemeR.style.ApplicationTheme

> 您可以通过将

属性android:theme=""添加到AndroidManifest.xml文件中的特定活动来执行此操作

例:

<activity android:theme="@style/CustomTheme">

相关内容

  • 没有找到相关文章

最新更新