android sdk 提供了众多主题 theam
诸如:style 下的Theme.AppCompat.Light 、AlertDialog.AppCompat、android:style下的Theme.Material.Light
style 可以应用于activity fragment 甚至直接作用于button之类的控件
<activity android:name=".MainActivity"
android:theme="@style/MyMaterialStyleNoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="80dp"
android:theme="@style/ButtonTheme"
android:text="Button" />
当然系统自带的style 虽然很丰富但是往往不能适用于业务场景。所以我们可以自定义。
<style name="My_Material_Style" parent="@android:style/Theme.Material.Light">
<!--actionbar 背景色-->
<item name="android:colorPrimary">#ff0000</item>
<!--actionbar appname的颜色-->
<item name="android:textColorPrimary">#00ff00</item>
<!--任务栏颜色-->
<item name="android:colorPrimaryDark">#f00066</item>
<!--背景色-->
<item name="android:windowBackground">@color/colorPrimary</item>
<!--下部返回栏颜色 印象中除了htc之外好像没有手机有这个栏了-->
<item name="android:navigationBarColor">#ffff00</item>
<!--默认 button 颜色-->
<item name="android:colorControlHighlight">#00BCD4</item>
<item name="android:colorButtonNormal">#CDDC39</item>
</style>
此时就需要知道各种各样的字段到底代表什么意义,button颜色主要是Material Design中使用对于不同的activity 不同的按钮可以直接设置不同的style来使之显示出不同的效果。具体详见 使用Material Design 应用主题