I would like all the buttons of my android application use the same background image, that's all buttons have attribute:
android:background="@drawable/my_btn_bg"
Is there any way to define this in one place and take effect in the whole application's buttons? (instead of define the background on each button component)
I think define inside theme.xml could be a solution, but I do not know how to do it ? Could some one give me some hints?
For Android styles, you reference the preset attributes of R.attr. Here, you want to to reference android:buttonStyle. You can try this :
<style name="ApplicationStyle" parent="android:Theme">
<item name="android:buttonStyle">@style/yourButton</item>
</style>
Also look in this Themes and Styles
Define styles.xml with the below:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="buttonStyle">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/bg_button</item>
</style>
</resources>
And use the same style for any button within your application as:
<Button
android:text="Test Button"
android:id="@+id/btnTest"
style="@style/buttonStyle">
</Button>