How do I apply a style to all buttons of an Android application
I have a style applied to my whole application:
AndroidManifest.xml:
<application android:theme="@style/ApplicationStyle" android:icon="@drawable/icon" android:label="@string/app_name">
And in my styles.xml:
<style name="ApplicationStyle" parent="android:Theme">
<item name="android:button">@style/CKButton</item>
</style>
<style name="CKButton" parent="android:style/Widget.Button">
<item name="android:textSize">19sp</item>
<item name="android:layout_margin">0dip</item>
<item name="android:background">#ff0000</item>
</style>
But the style doesn't get applied.
I'm sorry if I just used the false name in the ApplicationStyle
- Item
, but I have no clue where to look for the object names and simply assumed, that android:button
applies to all buttons.
For Android styles, you reference the preset attributes that Android has laid out in R.attr
. In this case, it looks like you want to to reference android:buttonStyle
. I think this would work:
<style name="ApplicationStyle" parent="android:Theme">
<item name="android:buttonStyle">@style/CKButton</item>
</style>
For Material components theme it would be like this:
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="materialButtonStyle">@style/AppTheme.Button</item>
</style>