在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的过渡动画


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


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

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

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

            

3.新建values-v21文件夹并新建一个styles.xml样式
<?xml version="1.0" encoding="utf-8"?>    

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


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



更多相关文章

  1. Android(安卓)Studio主题设置
  2. android更换控件默认样式
  3. android 样式表-selector
  4. 33、Android(安卓)Support兼容包详解
  5. Android(安卓)UI Action Bar之ActionBarSherlock
  6. Android(安卓)UI Action Bar之ActionBarSherlock
  7. Android学习系列(39)--Android主题和样式之系统篇(上)
  8. Android(安卓)TextView的特殊使用:阴影,加样式
  9. Google:Android将尝试兼容iPhone程序

随机推荐

  1. 【OCP最新题库解析(052)--题16】Your dat
  2. 【博客大赛】ansible 企业级自动化运维实
  3. 类的重定向,命名空间和内容的访问
  4. 0414作业-$.get,$.post,$ajax与Vue基本术
  5. Google Play上出现了针对移动设备的恶意
  6. 用富兰克林学习写作的方法来研究计算机方
  7. 【小麦苗课堂】高可用培训(RAC+DG+OGG)
  8. 【优化】COUNT(1)、COUNT(*)、COUNT(常量
  9. 【故障处理】DBCA建库诡异问题处理--rac
  10. 容器 - Web服务示例(6)