Reputation:
I have trouble in changing the background color and text color of my buttons in my app.
I made a new theme to play around and try it out. My manifest looks like this:
<application
...
android:theme="@style/OrangeWhite">
<activity android:name=".MainActivity">
...
</application>
My theme.xml looks like this:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="OrangeWhite" parent="android:Theme.Light">
<item name="android:windowBackground">@color/OrangeWhite_bg_color</item>
<item name="android:textColor">@color/OrangeWhite_wh_text</item>
<item name="android:colorButtonNormal">@color/OrangeWhite_bg_btn</item>
</style>
</resources>
Changing text or background color of an activity works just fine. The problem is the button. Do I need to specify on every button to use the theme OrangeWhite?...
Upvotes: 2
Views: 10399
Reputation: 1990
If you are using AppCompat theme as parent than try below code
If you need to change the style of a specific button, you can define a new style, inheriting one of the parent styles described above. In the example below I just changed the background and font colors:
<style name="AppTheme.Button" parent="Widget.AppCompat.Button.Colored">
<item name="colorButtonNormal">@color/Red</item>
<item name="android:colorButtonNormal">@color/Red</item>
<item name="android:textColor">@color/White</item>
</style>
Then you just need to apply this new style on the button with:
android:theme="@style/AppTheme.Button"
Upvotes: 4