我可以使用按钮,复选框,进度条等一些项目,我想定义那些可绘制项目,以便为我的应用程序使用的所有按钮的默认样式。
如果不单独在每个视图中声明样式,是否可以这样做?
如果答案是为应用程序使用主题,我会欣赏一个例子(例如更改所有按钮的样式),因为我不明白如何定义它。
提前致谢
答案 0 :(得分:2)
答案是按照您的期望使用主题。可以在Android开发者网站上找到好的文档:http://developer.android.com/guide/topics/ui/themes.html
对于按钮,您可以这样做: 定义一个新主题:
<style name="MyTheme" parent="@android:style/Theme.Holo">
<item name="android:buttonStyle">@style/button</item>
</style>
按钮样式定义为:
<style name="button" parent="@android:style/Widget.Button">
<item name="android:background">@drawable/button_background_selector</item>
<item name="android:textColor">@drawable/button_text_selector</item>
</style>
button_background_selector的定义如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_pressed" android:state_pressed="true"></item>
<item android:drawable="@drawable/button_disabled" android:state_enabled="false"></item>
<item android:drawable="@drawable/button_default"></item>
</selector>
所有这些drawable都可以是你的图像 - button_pressed可以是drawable文件夹中的png。 您还必须在清单中将主题应用于您的应用程序,如下所示:
<application
android:theme="@style/MyTheme" >
</application>
希望这会有所帮助:)