android 5.0新特性之Material Design 使用Material主题

在android 5.0之前,android的界面是很粗糙的,所以在android 5.0的时候,google出了一套针对android的风格样式,称之为 Material Design。本篇博客是Material Design的第一篇:Material主题


首先来了解下Theme的使用:

Android中主题(Theme)的正确玩法:

1》在AndroidManifest.xml文件中有,其中@style/AppTheme是引用的res/values/styles.xml中的主题样式,也有可能是引用的res/values-v11/styles.xml或者res/values-v14/styles.xml,这是根据运行此程序的手机系统来决定的,如果手机系统的API版本是11以上就是v11/styles.xml,以此类推。在values/styles.xml中你会发现AppTheme的主题样式又是继承自AppTheme.Base。而AppTheme.Base的父主题就有很多不同了,我们可以从这个位置来修改主题。

2》主题的来源有三个:
1)来自Android系统自带的
2)来自兼容包的
3)自己写一个主题

使用Android系统中自带的主题要加上"android:",比如:android:Theme.Black
使用v7兼容包中的主题不需要前缀,直接:Theme.AppCompat

3》主题样式:
    系统自带主题:
    // activity必须继承的不是AppCompatActvity
    API 1:
    android:Theme 根主题
    android:Theme.Black 背景黑色
    android:Theme.Light 背景白色
    android:Theme.Wallpaper 以桌面墙纸为背景
    android:Theme.Translucent 透明背景
    android:Theme.Panel 平板风格
    android:Theme.Dialog 对话框风格

    API 11:
    android:Theme.Holo Holo根主题
    android:Theme.Holo.Black Holo黑主题
    android:Theme.Holo.Light Holo白主题

    API 14:
    Theme.DeviceDefault 设备默认根主题
    Theme.DeviceDefault.Black 设备默认黑主题
    Theme.DeviceDefault.Light 设备默认白主题

    API 21: (网上常说的 Android Material Design 就是要用这种主题)
    Theme.Material Material根主题
    Theme.Material.Light Material白主题


    //  activity必须继承的是AppCompatActvity
    兼容包v7中带的主题:
    Theme.AppCompat 兼容主题的根主题
    Theme.AppCompat.Black 兼容主题的黑色主题
    Theme.AppCompat.Light 兼容主题的白色主题

Theme.AppCompat主题是兼容主题,是什么意思呢?

意思就是说如果运行程序的手机API是21则就相当于是Material主题,如果运行程序的手机API是11则就相当于是Holo主题,以此类推


需要注意的是,如果你的父类是AppCompatActivity,那么你的主题样式必须为Theme.AppCompat,如果你的父类为Activity或FragmentActivity,那么你就可以使用其他的样式。

而且android 5.0的Material Design属于系统自带的主题


5.0新增的Material Design

新的Material主题提供了:

· 系统Widgets可设置它们的调色板

· 系统Widgets的触摸反馈动画

· Activity的过渡动画


一般情况下我们的屏幕是这样的格式:

android 5.0新特性之Material Design 使用Material主题_第1张图片

对于这些颜色的设置,我们需要通过自定义的方式来实现

1. 在主程序的application里面添加

android:theme="@style/AppTheme"
2.在styles样式里面设置



    

    
    



3.新建values-v21文件夹并新建一个styles.xml样式


    

说明:values-v21文件夹中的内容是专门针对API21以上的版本所使用的配置文件,也就是说如果是API21之前的文件就是使用res/values中的styles.xml,否则使用values-v21文件夹下的styles.xml


以上就是关于android theme的一些基本概念和使用,欢迎大家评论。



你可能感兴趣的:(Android)