5

可能重复:
在不向每个 TextView 添加样式属性的情况下对所有 TextView(或自定义视图)进行样式设置

我的应用程序中有很多TextViews。android:shadowColor它们有各种字体大小、颜色等。我需要应用android:shadowRadius它们以使它们都带有阴影。怎么做?

例如,我可以为TextViews 制作具有必要属性的样式

<style name="text_views">
    <item name="android:shadowColor">@color/tv_shadow</item>
    <item name="android:shadowDy">1</item>
    <item name="android:shadowRadius">0.7</item>
</style>

并将其应用于每个TextView. 是否可以在应用程序的主题中包含阴影属性?

4

2 回答 2

8

是的。

你需要做的是创建一个

<style name="Theme.RedPlanetTheme" parent="android:Theme">
    <item name="android:shadowColor">@color/tv_shadow</item>
    <item name="android:shadowDy">1</item>
    <item name="android:shadowRadius">0.7</item>
</style>

然后在你的清单中你会这样做。

<application
        android:debuggable="true"
        android:icon="@drawable/icon"
        android:label="Red Planet App"
        android:theme="@style/Theme.RedPlanetTheme" >

这将允许您的整个应用程序继承您的自定义主题样式。

编辑

如果您只想应用到 textview,那么我们只需要再自定义一下 ThemeRedPlanet。

<style name="Theme.RedPlanetTheme" parent="android:Theme">    
    <item name="android:textAppearance">@style/MyRedTextAppearance</item>
</style>

<style name="MyRedTextAppearance" parent="@android:style/TextAppearance">
    <item name="android:shadowColor">@color/tv_shadow</item>
    <item name="android:shadowDy">1</item>
    <item name="android:shadowRadius">0.7</item>
</style>

我用这个作为例子。Steve Pomeroy 更直接地应用全球主题(设置一次有点交易)

于 2012-11-28T07:09:52.573 回答
5

请将以下行添加到您的 textview 属性中,它将解决您的问题。

style="@style/text_views"

于 2012-11-28T07:09:51.463 回答