Android(Lollipop/5.0) Material Design(三) 使用Material主题

转载 2015年07月07日 14:49:12

转载原文地址:http://blog.csdn.net/jjwwmlp456/article/details/40583471

官网地址:https://developer.android.com/training/material/theme.html


新的Material主题提供了:

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

· 系统Widgets的触摸反馈动画

· Activity的过渡动画


您可以自定义Material主题,根据你的品牌标识,用一个调色板来控制。

可以使用主题属性来为操作栏和状态栏着色,如图所示:



Material主题的定义:
@android:style/Theme.Material (dark version)
@android:style/Theme.Material.Light (light version)
@android:style/Theme.Material.Light.DarkActionBar

注:Material主题只能5.0(api21)及以上才能使用support-v7提供了兼容支持。 详见 保持兼容性

Customize the Color Palette  自定义调色板

自定义基于颜色的适合你的品牌的主题,当继承了Material主题时,可以使用Material主题中的属性来自定义颜色

<span class="tag" style="color: rgb(0, 0, 136);"><resources></span><span class="pln" style="color: rgb(0, 0, 0);">
  </span><span class="com"><!-- inherit from the material theme --></span><span class="pln" style="color: rgb(0, 0, 0);">
  </span><span class="tag" style="color: rgb(0, 0, 136);"><style</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="atn" style="color: rgb(136, 34, 136);">name</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="atv" style="color: rgb(136, 0, 0);">"AppTheme"</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="atn" style="color: rgb(136, 34, 136);">parent</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="atv" style="color: rgb(136, 0, 0);">"android:Theme.Material"</span><span class="tag" style="color: rgb(0, 0, 136);">></span><span class="pln" style="color: rgb(0, 0, 0);">
    </span><span class="com"><!--</span><span class="pln" style="color: rgb(0, 0, 0);"> Main theme colors </span><span class="com">--></span><span class="pln" style="color: rgb(0, 0, 0);">
    </span><span class="com"><!--</span><span class="pln" style="color: rgb(0, 0, 0);">   your app branding color for the app bar </span><span class="com">--></span><span class="pln" style="color: rgb(0, 0, 0);">
    </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">item name</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="str" style="color: rgb(136, 0, 0);">"android:colorPrimary"</span><span class="pun" style="color: rgb(102, 102, 0);">>@</span><span class="pln" style="color: rgb(0, 0, 0);">color</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">primary</span><span class="pun" style="color: rgb(102, 102, 0);"></</span><span class="pln" style="color: rgb(0, 0, 0);">item</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);">
    </span><span class="com"><!--</span><span class="pln" style="color: rgb(0, 0, 0);">   darker variant for the status bar and contextual app bars </span><span class="com">--></span><span class="pln" style="color: rgb(0, 0, 0);">
    </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">item name</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="str" style="color: rgb(136, 0, 0);">"android:colorPrimaryDark"</span><span class="pun" style="color: rgb(102, 102, 0);">>@</span><span class="pln" style="color: rgb(0, 0, 0);">color</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">primary_dark</span><span class="pun" style="color: rgb(102, 102, 0);"></</span><span class="pln" style="color: rgb(0, 0, 0);">item</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);">
    </span><span class="com"><!--</span><span class="pln" style="color: rgb(0, 0, 0);">   theme UI controls like checkboxes and text fields </span><span class="com">--></span><span class="pln" style="color: rgb(0, 0, 0);">
    </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">item name</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="str" style="color: rgb(136, 0, 0);">"android:colorAccent"</span><span class="pun" style="color: rgb(102, 102, 0);">>@</span><span class="pln" style="color: rgb(0, 0, 0);">color</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">accent</span><span class="pun" style="color: rgb(102, 102, 0);"></</span><span class="pln" style="color: rgb(0, 0, 0);">item</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);">
  </span><span class="tag" style="color: rgb(0, 0, 136);"></style></span><span class="pln" style="color: rgb(0, 0, 0);">
</span><span class="tag" style="color: rgb(0, 0, 136);"></resources></span>

Customize the Status Bar  自定义状态栏

Material主题可以让你轻松地定制状态栏,所以您可以指定一个适合你品牌的颜色,并提供足够的对比度显示白色的状态图标,

当继承自Material主题时,设置状态栏时自定义颜色:android:statusBarColor。默认情况下,android:statusBarColor继承了android:colorPrimaryDark。

你可以自己绘制状态栏。例如,你想在照片上能明显的显示状态栏,用一个细微的黑色渐变来确保白色状态栏图标可见。为此,设置android:statusBarColor属性为@android:color/transparent,并根据需要调整Window的flags。对于动画或消退(fading),你也可以使用Window.setStatusBarColor()方法

当你自定义导航和状态栏时,要么使它们都透明,要么只修改状态栏。导航栏在其他所有情况下必须保持黑色。

Theme Individual Views  个人主题View

在layout的xml定义中,可以使用android:theme来指定该View所适用的主题,指定后,它将改变当前View及其子View的theme。

Android 5.0 Material Design酷炫风格的开源项目集合

前言 Android 5.0上线有一个段时间了,估计小伙伴们都看到了Android5.0界面上相比前面几个版本有了很大的突破,给人一种非常酷炫,平滑的跳转,生动的界面切换,全新的感觉,Andro...
  • chy6575
  • chy6575
  • 2016年10月24日 10:25
  • 822

在你的Android应用中使用Material Design

译自 http://android-developers.blogspot.com/2014/10/implementing-material-design-in-your.html —— By ...
  • IJUST
  • IJUST
  • 2014年11月19日 22:34
  • 2472

Android源码大放送之material design类型

本文转载自:http://www.apkbus.com/android-243232-1-1.html 鉴于大家对源码的渴望,就算自己辛苦一点也要满足大家的需求,查看了几百个源码...
  • cike110120
  • cike110120
  • 2015年06月20日 09:33
  • 11821

Android Material Design 兼容库的使用详解

转自:http://www.jianshu.com/p/1e6eed09d48b 众所周知Material Design(材质设计)是Google在2014年I/O大会上发布的一种新的设...
  • Hknock
  • Hknock
  • 2016年04月25日 17:28
  • 2883

手把手教你打造一个Material Design风格的App(一)

你应该听说过Android的Material Design,它是在Android 5.0(Lollipop)版本引入的。在Material Design中还引入了很多新东西,比如Material Th...
  • u014738140
  • u014738140
  • 2015年05月26日 23:33
  • 5774

Material Design学习之 EditText (功能强大,优于系统自带,感谢“扔物线”)

转载请注明出处:王亟亟的大牛之路继续之前的Material Design历程,今天是EditText,素材来源于http://www.rengwuxian.com/post/materialeditt...
  • ddwhan0123
  • ddwhan0123
  • 2016年01月29日 10:39
  • 4921

手把手教你打造一个Material Design风格的App(一)

你应该听说过Android的Material Design,它是在Android 5.0(Lollipop)版本引入的。在Material Design中还引入了很多新东西,比如Material Th...
  • dongfeng9ge
  • dongfeng9ge
  • 2015年07月21日 11:42
  • 3770

Material Design系列之配色设置

我们先来看一张图,我从Using Material Theme上面download下来的:   一目了然,每个属性什么意思应该不用我再多加解释了吧。下面我来看看怎么配置这些属性,工程的配...
  • Blizzard_liu
  • Blizzard_liu
  • 2016年09月28日 15:44
  • 883

手把手教你打造一个Material Design风格的App(四)

——接上文。 3.3实现导航抽屉菜单项的选择 尽管导航抽屉已经实现了,但是你会发现选择抽屉列表项并没有反应,这是因为我们还没有实现RecycleView items的点击监听。 因为我们在导航抽屉里...
  • u014738140
  • u014738140
  • 2015年05月27日 00:04
  • 2269

12个Material Design风格控件的使用

项目在GitHub上的地址:https://github.com/Hebin320/MaterialDesignUseCSDN上的下载地址http://download.csdn.net/detail...
  • Hebin320320
  • Hebin320320
  • 2016年05月20日 14:50
  • 35804
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android(Lollipop/5.0) Material Design(三) 使用Material主题
举报原因:
原因补充:

(最多只允许输入30个字)