Reputation: 73
I have wrong button style on pre-Lollipop devices.
compiling using appcompat library.
compile 'com.android.support:appcompat-v7:23.0.1'
values/styles.xml
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@android:color/holo_orange_light</item>
<item name="colorPrimaryDark">@android:color/holo_orange_dark</item>
<item name="colorAccent">@android:color/holo_green_light</item>
<item name="colorControlNormal">@android:color/holo_purple</item>
<item name="colorControlHighlight">@android:color/holo_red_light</item>
<item name="colorButtonNormal">@android:color/holo_green_light</item>
<item name="android:buttonStyle">@style/ButtonTheme</item>
</style>
<style name="ButtonTheme" parent="android:Widget.Button">
<item name="android:textColor">@android:color/white</item>
<item name="android:textAllCaps">true</item>
<item name="android:drawablePadding">10dp</item>
<item name="android:padding">10dp</item>
</style>
v21/styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ButtonTheme" parent="android:Widget.Material.Button">
<item name="android:textColor">@android:color/white</item>
<item name="android:textAllCaps">true</item>
<item name="android:drawablePadding">10dp</item>
<item name="android:padding">10dp</item>
</style>
</resources>
The result is http://prntscr.com/8mt1jx
"New button" adding by xml on ISC has no style textColor and drawablePadding. Do you have any ideas to correct it?
Upvotes: 4
Views: 630
Reputation: 73
So for pre-Lollipop devices work this:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@android:color/holo_orange_light</item>
<item name="colorPrimaryDark">@android:color/holo_orange_dark</item>
<item name="colorAccent">@android:color/holo_green_light</item>
<item name="colorControlNormal">@android:color/holo_purple</item>
<item name="colorControlHighlight">@android:color/holo_red_light</item>
<item name="colorButtonNormal">@android:color/holo_green_light</item>
<item name="buttonStyle">@style/ButtonTheme</item>
<item name="android:buttonStyle">@style/ButtonProgramAddTheme</item>
</style>
<style name="ButtonTheme" parent="Widget.AppCompat.Button">
<item name="android:textColor">@android:color/white</item>
<item name="android:textAllCaps">true</item>
<item name="android:drawablePadding">10dp</item>
<item name="android:padding">10dp</item>
</style>
<style name="ButtonProgramAddTheme" parent="android:Widget.Button">
<item name="android:textColor">@android:color/white</item>
<item name="android:textAllCaps">true</item>
<item name="android:drawablePadding">10dp</item>
<item name="android:padding">10dp</item>
</style>
The result is: http://prntscr.com/8mtoqa
Also for the same view of the program add buttons we can add custom background by selector, because AppCompat does not in fact support the Button widget on pre-Lollipop devices.
Upvotes: 1
Reputation: 10724
The problem is the buttonStyle
in your normal styles.xml.
Replace
<item name="android:buttonStyle">@style/ButtonTheme</item>
With
<item name="buttonStyle">@style/ButtonTheme</item>
And it should work.
Upvotes: 6