Android 的主题的演变
2016-12-28 16:56
288 查看
目前比较流行的主题样式 (4.0以后的主题)AppThemeTheme.AppCompat 例如:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<style name="AppTheme.NoActionBar">来源(由来):Hoho Theme在4.0之前Android可以说是没有设计可言的,在4.0之后推出了Android Design,从此Android在设计上有了很大的改善,而在程序实现上相应的就是Holo风格,所以你看到有类似Theme.Holo.Light、Theme.Holo.Light.DarkActionBar 就是4.0的设计风格,但是为了让4.0之前的版本也能有这种风格怎么办呢?这个时候就不得不引用v7包了,所以对应的就有Theme.AppCompat.Light、Theme.AppCompat.Light.DarkActionBar,如果你的程序最小支持的版本是API14(即Android 4.0),那么可以不用考虑v7的兼容。Material Design ThemeAndroid在5.0版本推出了Material Design的概念,这是Android设计上又一大突破。对应的程序实现上就有Theme.Material.Light、Theme.Material.Light.DarkActionBar等,但是这种风格只能应用在在5.0版本的手机,如果在5.0之前应用Material Design该怎么办呢?同样的引用appcompat-v7包,这个时候的Theme.AppCompat.Light、Theme.AppCompat.Light.DarkActionBar就是相对应兼容的MaterialDesign的Theme。普及theme和style知识项目中经常使用style和Theme,但却从来没有考虑过它们的区别,只会copy来copy去的,有时候还有些迷茫,为了彻底告别迷茫,现把这两者的区别和使用总结出来,供自己和大伙参考一.作用域Theme是针对窗体级别的,改变窗体样式。Style是针对窗体元素级别的,改变指定控件或者Layout的样式二.使用方式Theme1. 在res\values\ 下创建themes.xml或者styles.xml文件2. 添加节点(根节点)style1 在AndroidManifest.xml文件中,为Activity指定theme属性(推荐) 就只直接在activity上指明主题 ,而不是res\values\styles或者themes下面2 Activity创建时调用setTheme函数 (必须在setContentView前调用 )系统自带的主题
android:theme="@android:style/Theme.Dialog" //将一个Activity显示为能话框模式android:theme="@android:style/Theme.NoTitleBar" //不显示应用程序标题栏android:theme="@android:style/Theme.NoTitleBar.Fullscreen" //不显示应用程序标题栏,并全屏android:theme="@Theme.Light" //背景为白色android:theme="Theme.Light.NoTitleBar" //白色背景并无标题栏android:theme="Theme.Light.NoTitleBar.Fullscreen" //白色背景,无标题栏,全屏android:theme="Theme.Black" //背景黑色android:theme="Theme.Black.NoTitleBar" //黑色背景并无标题栏android:theme="Theme.Black.NoTitleBar.Fullscreen" //黑色背景,无标题栏,全屏android:theme="Theme.Wallpaper" //用系统桌面为应用程序背景android:theme="Theme.Wallpaper.NoTitleBar" //用系统桌面为应用程序背景,且无标题栏android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" //用系统桌面为应用程序背景,无标题栏android:theme="@style/Theme.AppCompat.NoActionBar" 黑色背景android:theme="@style/AppTheme.NoActionBar" 白色背景参考链接 http://www.bkjia.com/Androidjc/814434.html http://www.jianshu.com/p/6ad7864e005e
相关文章推荐
- Android应用开发中的风格和主题(style,themes)
- 明日讲座主题:ASP.NET WebForms、MVC与MVP的演变与结合
- Android应用开发中的风格和主题(style,themes)【转】
- android开发中的风格和主题
- Android源码学习之一-Activity是如何实现主题变化的
- Android应用开发中的风格和主题(style,themes)
- 主题:Android入门扫盲之三-------------电话薄
- Android应用开发中的风格和主题(style,themes)
- Android开发指南-框架主题-安全和许可
- 明日讲座主题:ASP.NET WebForms、MVC与MVP的演变与结合
- Android开发指南-框架主题-内容提供器
- 主题:利用Bundle实现Android Activity间消息的传递
- Android风格与主题
- Android开发指南-框架主题-安全和许可
- Android开发指南-框架主题-意图和意图过滤器
- Android开发指南-框架主题-用户界面
- Android开发指南-框架主题-数据存储
- Android(六)通知、样式、主题、HTML
- android主题设置
- Android源码学习之一-Activity是如何实现主题变化的