简体   繁体   中英

How to define button background at one place and used around the whole app?

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>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM