我希望我的Android应用程序的所有按钮都使用相同的背景图像,这是所有按钮都有属性:
android:background="@drawable/my_btn_bg"
有没有办法在一个地方中定义它并在整个应用程序的按钮中生效? (而不是在每个按钮组件上定义背景)
我认为 theme.xml 中的定义可能是一个解决方案,但我不知道该怎么做?有人可以给我一些提示吗?
答案 0 :(得分:11)
对于Android样式,您引用R.attr的预设属性。在这里,你想引用android:buttonStyle。你可以试试这个:
<style name="ApplicationStyle" parent="android:Theme">
<item name="android:buttonStyle">@style/yourButton</item>
</style>
另请参阅此Themes and Styles
答案 1 :(得分:5)
使用以下内容定义styles.xml:
<?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>
对应用程序中的任何按钮使用相同的样式:
<Button
android:text="Test Button"
android:id="@+id/btnTest"
style="@style/buttonStyle">
</Button>