好长时间没写Android UI方面的文章了,今天就闲扯一下Android的Holo主题。一直做android开发的可能都知道,Android 系统的UI有过两次大的变化,一次是android 3.0发布,UI开发支持了Fragment,主要增加了大屏幕显示的支持,这个版本就开始支持Holo Theme,由于android 3.X的设备占有率也不高,这一次的改变没有引起大的关注;再一次的改变就是Android 4.0 ,也就是通常所说的 ICS ,这个于2011年底发布的Android系统,同时也发布了指导性的应用设计规范《Android Design》 有了设计规范的指导,就有了更多应用采用了Holo Theme,尤其国外的应用。Holo Theme的主要特点是轻快的颜色、适当的阴影、卡片化布局、方角矩形。

一、Holo Theme的三种表现形式

Holo Theme是android4.0开始提出的一套UI风格,Holo Theme一共有三种风格-Holo Light,Holo Dark,Holo Light with dark action bars。Android 4.0以后的手机系统内集成有Holo Theme的控件,简单的应用直接调用这些控件,就能设计出Holo 风格的应用,和原生系统风格很一致。下图是Holo Theme三种风格的表现形式。

                

                  Gmail in Holo Light.                                               Settings in Holo Dark.                     Talk in Holo Light with dark action bar.

 

二、Holo Theme是Android Design的一部分

         Holo Theme是Android Design的一部分,Holo Theme 是 Android Design 的最基础的呈现方式。如果要以 VennDiagram 来表示的话,大概是下图这样的。

如果整个背景的浅灰代表了 Android Design,那么其中淡蓝的圆圈便是 Holo Theme。 Android Design包含了对色彩、主题、事件状态图、应用图标、控件等Android 应用设计相关的定义,主题成了 Android Design的一部分。

三、Holo Theme在android 4.0版本以下怎么实现

Holo Theme在4.0之上很容易实现,系统支持,如果在4.0之前的版本中使用Holo风格,则通过HoloEverywhere 库即可实现。HoloEverywhere 依赖 ActionBarSherlock来在4.0之前版本中实现ActionBar。下图是HoloEverywhere的实现效果,后篇会详细介绍HoloEverywhere。

                            

/**
* @author 张兴业

*  http://blog.csdn.net/xyz_lmn
*  iOS入门群:83702688
*  android开发进阶群:241395671
*  我的新浪微博:@张兴业TBOW
*/

http://developer.android.com/design/index.html

转载于:https://www.cnblogs.com/james1207/p/3339578.html

Android UI开发第三十一篇——Android的Holo Theme相关推荐

  1. Android UI开发第三十篇——使用Fragment构建灵活的桌面

    http://www.lupaworld.com/article-222973-1.html 当我们设计应用程序时,希望能够尽最大限度的适配各种设备,包括4寸屏.7寸屏. 10寸屏等等,Android ...

  2. Android UI开发第三十三篇——Navigation Drawer For Android API 7

    Creating a Navigation Drawer中使用的Navigation Drawer的android:minSdkVersion="14",现在Android API ...

  3. Android UI开发第二十九篇——Android中五种常用的menu(菜单)

    Android Menu在手机的应用中起着导航的作用,作者总结了5种常用的Menu. 1.左右推出的Menu 前段时间比较流行,我最早是在海豚浏览器中看到的,当时耳目一新.最早使用左右推出菜单的,听说 ...

  4. Android UI开发第三十九篇——Tab界面实现汇总及比较

    Tab布局是iOS的经典布局,Android应用中也有大量应用,前面也写过Android中TAb的实现,<Android UI开发第十八篇--ActivityGroup实现tab功能>.这 ...

  5. Android UI开发第二十五篇——分享一篇自定义的 Action Bar

    Action Bar是android3.0以后才引入的,主要是替代3.0以前的menu和tittle bar.在3.0之前是不能使用Action Bar功能的.这里引入了自定义的Action Bar, ...

  6. Android UI开发第三十二篇——Creating a Navigation Drawer

    Navigation Drawer是从屏幕的左侧滑出,显示应用导航的视图.官方是这样定义的: The navigation drawer is a panel that displays the ap ...

  7. Android UI开发第十四篇——可以移动的悬浮框

    工作中遇到一些项目需要把窗体显示在最上层,像来电弹窗显示电话号码等信息或拦截短信信息显示给用户,我们想这些数据放在最上层,activity就满足不了我们的需求了,有些开发者使用了循环显示Toast的方 ...

  8. Android UI开发第四十篇——ScrollTricks介绍

    ScrollTricks是一个开源控件,实现了两个简单功能: 1.Quick Return:向上滑动时,View也向上滑动并且消失,当向下滑动时,View马上出现.例如Google Now的搜索功能. ...

  9. Android UI开发第四十一篇——墨迹天气3.0引导界面及动画实现

    周末升级了墨迹天气,看着引导界面做的不错,模仿一下,可能与原作者的代码实现不一样,但是实现的效果还是差不多的.先分享一篇以前的文章,android动画的基础知识,<Android UI开发第十二 ...

  10. Android UI开发——AppCompat实现Action Bar

    http://blog.csdn.net/xyz_lmn/article/details/12623609 每一位Android开发者对Action Bar这种设计都不陌生了,毕竟它已经发布了至少两年 ...

最新文章

  1. 壁咚Java 彻底搞定String、StringBuilder、StringBuffer
  2. 2.1TF模型持久化
  3. 挖掘Windows 10看图的习惯用法
  4. Spring Boot 单元测试详解+实战教程
  5. anaconda配置虚拟环境
  6. 第二阶段冲刺报告(六)
  7. py4j.java gateway_python 2.7-为什么PySpark无法找到py4j.java_gateway?
  8. anaconda新建python2环境安装不了jupyterlab_python/conda/jupyter-lab虚拟环境管理
  9. 将数据追加到html 表格中,【HTML】使用Jquery实现将输入数据添加至表格中
  10. jq js json 转字符串_js-jquery-对象与JSON字符串互相转换
  11. 开机时无法进入系统,提示windows system32/winload.exe 无法加载
  12. Github 单文件快速下载 -- 使用 DownGit
  13. [渝粤教育] 中国地质大学 大学语文 复习题 (2)
  14. 单模光纤和多模光纤的区别
  15. turf.js字典——查询turf库的所有方法及用途
  16. 使用Sbert预训练的TTS模型《Expressive Text-to-Speech using Style Tag》
  17. 连接数据库出现错误代码为18456
  18. java微信小程序的校园外卖点餐平台 uniapp
  19. python 人民币兑美元汇率代码_人民币对美元汇率的大数据分析与预测【完整代码】...
  20. Hugging Face(1)——Transformer Models

热门文章

  1. oracle imp 版本错误,解决imp导入数据报IMP-00098错误
  2. PyTorch实战 | 文本情感分类任务 | LSTM与LSTM+Attention | TextCNN
  3. 浏览器存储cookie
  4. python将图片合并到PDF
  5. 消元法解二元一次方程组c语言,消元法解二元一次方程组的概念、步骤与方法...
  6. 计算机的主要元器件介绍,计算机基础电子元器件介绍
  7. html单位pt,CSS单位之pt和px的区别是什么
  8. java WinRM 远程连接 windows10 执行脚本
  9. Isilon上数据是如何存放的?
  10. 【MapReduce运行报错】Type mismatch inkey form map:excepted org.apache.hadoop.io.Text,recived MR.wordcount.