1-Android开发知识Android UIAndroid开发

Android样式和主题(二):系统有哪些主题

2017-05-04  本文已影响1279人  08_carmelo

Android系统自带Theme

简介

Theme源码简析

以Android6.0为例,查看系统源码这个位置 :frameworks/base/core/res/res/value/,发现有如下几个Theme文件。

Paste_Image.png

截取部分theme.xml:

<style name="Theme">
        <item name="isLightTheme">false</item>
        <item name="colorForeground">@color/bright_foreground_dark</item>
        <item name="colorForegroundInverse">@color/bright_foreground_dark_inverse</item>
        <item name="colorBackground">@color/background_dark</item>
        <item name="colorBackgroundFloating">?attr/colorBackground</item>
        <item name="colorBackgroundCacheHint">?attr/colorBackground</item>

截取部分theme_metarial.xml

<style name="Theme.Material">
        <item name="colorForeground">@color/foreground_material_dark</item>
        <item name="colorForegroundInverse">@color/foreground_material_light</item>
        <item name="colorBackground">@color/background_material_dark</item>
        <item name="colorBackgroundFloating">@color/background_floating_material_dark</item>
        <item name="colorBackgroundCacheHint">@color/background_cache_hint_selector_material_dark</item>
        <item name="disabledAlpha">@dimen/disabled_alpha_material_dark</item>
        <item name="backgroundDimAmount">0.6</item>

常见Theme效果比较

下面直观感受下各种Theme的区别

Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png

如果把主题设为Theme.Material,然后minsdkVersion改为19,安装到Android4.4的设备会是什么效果

Paste_Image.png

可以看出Material在Android4.4系统上无法使用,而是自动替换成为Holo主题,那么怎么在Android5.0之前的设备使用Material主题呢?

兼容包AppCompat

appcompat-v7是v7-support库下面一个子库,此库主要是对ActiinBar支持,还包含对 Material Design 用户界面实现的支持。

Paste_Image.png

下一篇:介绍Material中控件,动画的使用

上一篇下一篇

猜你喜欢

热点阅读