位置: 编程技术 - 正文

Android 5.x--使用Material Theme加Palette(android使用教程)

编辑:rootadmin

推荐整理分享Android 5.x--使用Material Theme加Palette(android使用教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android_zh,android+,android_zh,android_zh,android xui,android5 0,android使用方法,android使用教程,内容如对您有帮助,希望把文章链接给更多的朋友!

Android5.0较之以前的版本,有一个比较大的改变:在Android5.x中支持Material Design的主题风格,这对于视觉上将是一个重大的改变。新的主题风格给人的感觉眼前一亮,原来Android也可以这么美,相信通过不断完善,Android也将越来越强大。那么今天就介绍一下,如何使用这让人眼前一亮的主题吧。

开始使用

目前只有在Android5.0之上的版本才可以支持Material的主题风格,这样我们首先在res/values-v/styles.xml文件中定义使用Material主题。

注意直接在values/styles.xml文件之中修改的话,编译器会提示:当前支持的最低的API版本中不存在该主题。

定制自己的主题

Android开发者官网中给出一张图片,形象的告诉我们Material主题所支持修改的颜色属性,方便我们定制自己的主题:

这样我们就可以修改这些值来定制自己的主题了:

在Android5.0的模拟器上运行一下吧,

怎么样,连标题栏和底部的导航栏都可以改变颜色了,而且连Actionbar都和以前不一样了,是不是很酷炫。

同时Android也允许你使用android:statusBarColor属性,或者使用Window.setStatusBarColor方法快速设置状态栏的颜色。

适配较低的Android版本

一切都很好,只是我的主题只能在5.0之上的版本才能用吗,太扫兴了吧。别担心,谷歌当然也会为低版本提供支持,让我们看看怎么做吧。

Android 5.x--使用Material Theme加Palette(android使用教程)

1.在Android studio中,首先来增加下面的Gradle依赖模块到工程中来:

接着我们在values/style.xml文件中添加自己的主题,注意这时我们不再使用android:Theme.Material.XXX的主题,而是使用依赖库中的主题Theme.AppCompat.XXX,同时不再需要values-v/style.xml中的android:Theme.Material.XXX主题。

测试中发现textColorPrimary属性的名称改为了colorAccent

2.在Eclipse中,我们需要升级到最新的ADT以及SDK,在WorkSpace中导入appcompat-v7的library工程,之后的使用步骤是一模一样的,大家可以试一试。

Palette的使用

同时,在Android 5.0中Google还发布了一个新的类Palette帮助我们提取Bitmap中颜色值,让我更方便的定制自己的主题,一起来看看吧。

这个类能提取以下突出的颜色:

Vibrant(清爽的)Vibrant dark(清爽的暗色)Vibrant light(清爽的亮色)Muted(柔和的)Muted dark(柔和的暗色)Muted lighr(柔和的亮色)使用Palette

首先在使用之前,我们需要引用该依赖库到我们的工程中来:

通过调用Palette的静态方法generate或generateAsync可以帮助我们提取颜色值,提取颜色的过程必须在异步线程中执行。

注意,generate方法不允许在主线程中调用,如果自己没有使用异步线程,可以使用generateAsync方法去帮助我们开启一个异步线程,并监听回调事件。

从View获得Bitmap

传入的对象必须是一个Bitmap对象,那么如何从一个View转化为Bitmap呢,我们可以通过画布绘制来实现:

接下来我们来用一下吧,通过提取Activity的整个布局中较安的柔和颜色,并把它设置给状态栏上。

效果如下:

Android之属性动画、值动画 Android属性动画什么是Android属性动画同类技术对比补间动画TweenAnimation帧动画FrameAnimation属性动画PropertyAnimation属性动画组成部分相关类介绍ObjectAnimator对

Android系统中Parcelable和Serializable的区别 在进行Android开发的过程中,通常我们需要在不同的组件之间传递对象,我们可以在自定义的Application类中设置一个全局类变量(这是一个比较实用的方

Android开发中MVP模式浅析 目前为止,MVP的使用还没有一个标准,在此先记录一下目前学习到的一些Android中使用MVP的知识。按传统的方式开发,经常会使Activity中混杂着UI交互,业

标签: android使用教程

本文链接地址:https://www.jiuchutong.com/biancheng/374434.html 转载请保留说明!

上一篇:toolkit:eclipse导入下载好的android系统源码

下一篇:Android之属性动画、值动画(android属性动画)

  • 年末暂估成本是否进行纳税调整处理
  • 开增值税发票折扣折让是什么意思?
  • 月末存款余额
  • 微店企业和个人的区别
  • 影响年度损益的金额有哪些
  • 公司费用计入什么科目
  • 无息贷款合同要按手印吗
  • 以前年度损益缴纳的税款在企业所得税中怎么表示
  • 明细分类核算的方法分为
  • 转移性支出包括上解上级支出
  • 企业支付投资者股利属于什么引起的财务活动
  • 小规模纳税人出租
  • 公司从基本户转钱到一般户走流程?
  • 支付土地流转费
  • 押金放到哪个会计科目
  • 赠送给客户
  • 产品成本的归集和分配是什么意思
  • 所有的进项税都在借方吗
  • 软件开发票入研发费用哪个明细科目?
  • 营改增行业注释
  • 会计学堂值得购买吗
  • 暂估入账没有调增,以后年度怎么调整
  • 跨区经营的税务政策
  • 分红 实缴比例
  • 高新企业研发费用认定条件
  • 基建项目税率
  • 企业买的商业保险退款怎么做账
  • 在线网速测试网站测速工具
  • 保险支付方式有哪些
  • 携税宝的作用
  • php教程全集
  • 企业短期借款的债权人均为银行
  • php中常见的错误类型有
  • 电子发票有哪些种类
  • web前端开发期末试题及答案
  • yolov5 anchors 中 K-means聚类
  • RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublas‘
  • php会员到期功能
  • php面试题目100及最佳答案
  • 保障金是低保吗
  • 什么是附加税举个例子
  • 母公司子公司合并
  • 办公桌椅入固定资产计提折旧几年
  • 预付卡业务开票怎么开
  • sql语句自动执行
  • 应交税费为什么写在借方
  • 公司基本户里的钱有利息吗
  • 利润分配和所有者权益的关系
  • 收入可以直接转成本吗?
  • 企业所得税退税会计分录
  • 预期信用损失影响损益吗
  • 房地产企业销售商品房增值税税率
  • 建筑工程行业前景
  • ubuntu如何回到桌面
  • win8系统升级到win 10
  • windows 10如何使用
  • mac怎么移动鼠标
  • cgi linux
  • dwm exe是什么
  • linuxcpu监控
  • rundll32找不到文件
  • 怎么让微软账户获得所有权限
  • linux批量清空文件内容
  • win7如何设置计算机自动开机
  • iptables centos
  • 翻转动画怎么做
  • unity ondestroy
  • js中的冒泡排序原理