Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to a apply style to all the TextViews I have? [duplicate]

Possible Duplicate:
Styling all TextViews(or custom view) without adding the style attribute to every TextView

I have got lots of TextViews in my app. They have various font sizes, colors, etc. I need to apply android:shadowColor and android:shadowRadius to them to have all of them with shadows. How to do it?

E. g., I can make a style for the TextViews with the necessary properties

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

and apply it to each TextView. Is it possible to include properties for the shadows to theme of the application?

like image 768
Maksim Dmitriev Avatar asked Nov 28 '12 07:11

Maksim Dmitriev


2 Answers

Yes it is.

What you need to do is create an

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

Then in your manifest you would do this.

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

This will allow your whole application to inherit your custom theme style.

Edit

If you want to apply to only textview, then we just need to customize the ThemeRedPlanet a bit more.

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

I'm using this as example. Steve Pomeroy applys more directly globally themed (set once kinda deal)

like image 122
Jerad Avatar answered Oct 26 '22 23:10

Jerad


Please add below line into your textview's property, it will solve your problem.

style="@style/text_views"

like image 45
Dipak Keshariya Avatar answered Oct 27 '22 00:10

Dipak Keshariya