Android 的主题的演变
目前比较流行的主题样式 (4.0以后的主题)
AppTheme
Theme.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 Theme
Android在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就是相对应兼容的Material Design的Theme。
普及theme和style知识
项目中经常使用style和Theme,但却从来没有考虑过它们的区别,只会copy来copy去的,有时候还有些迷茫,为了彻底告别迷茫,现把这两者的区别和使用总结出来,供自己和大伙参考
一.作用域
Theme是针对窗体级别的,改变窗体样式。
Style是针对窗体元素级别的,改变指定控件或者Layout的样式
二.使用方式
Theme
1. 在res\values\ 下创建themes.xml或者styles.xml文件
2. 添加节点(根节点)
style
1 在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 的主题的演变相关推荐
- android colorstatelist_B站Android多主题框架开源:MagicaSakura
最近不少同学在后台催更,还有朋友开始问我是不是出啥事了- -!,是得出来解释下,其实就是最近重心没有放在公众号这块,至于具体缘由就不说啦,感觉各种借口都要被我用完了,你们就当我懒癌复发吧.讲真,真心要 ...
- android最简单的更换主题,教你更换Android手机主题
买了Android手机的朋友肯定都希望手机桌面拥有一个好看的手机主题,但是具体操作却不会,下面就给大家简单教程. 目前在android系统上常见的主题软件有:open home.ADW launche ...
- 应用程式中夜间模式的Android DayNight主题
In this tutorial, we'll be discussing and using the Android DayNight theme in our application. If yo ...
- android国外壁纸app,国外Android精美主题、壁纸Ui界面设计大全-MyColorscreen
Android精美主题.壁纸Ui界面设计大全-MyColorscreen 让你看到你的朋友或者大家使用什么应用程序和壁纸. 如果你跟我们一样,热爱智能手机和平板电脑.喜欢玩不同的主题, MyColor ...
- android设置主题和自定义主题的方法
android设置主题和自定义主题的方法 嘿嘿,书接上回,android有两种设置主题到方法,一种就是通过修改manifest文件,一种就是在通过修改我们的java代码:主题的自定义设置和样式的自定义 ...
- Android之主题皮肤实现
每个人对于主题皮肤的喜好不同,所以一款好的软件应该有主题皮肤的选项,让用户能选择自己喜好的皮肤和主题,这样才更能获得用户的亲睐 下面通过一个简单的例子实现换肤功能 这个例子我通过了3种不同的方法实现换 ...
- Android深色主题背景的实现及主题背景颜色互换
layout: post title: Android深色主题背景的实现及主题背景颜色互换 date: 2-12-03 21:52:38 发布 author: 'zhangtao' header-im ...
- DIY Android之一--原生Android系统主题支持的设计和实现
口号:Android只是个Demo. 智能手机何其多,Symbian.WP.Android...,问题是原生的Android系统不支持主题定制. 于是我等看着花哨的主题资源包在市场上泛滥,前提:你先下 ...
- Android Theme 主题里的几个设计颜色的属性
Android Theme 主题里的几个设计颜色的属性:
最新文章
- java常量信用_JAVA常量
- golang中的反射
- 作为开发人员,你都听产品经理的,做的累不累?
- PTA L2-001 紧急救援 (点带权最短路)
- 2018-2019 ACM-ICPC, Asia Shenyang Regional Contest E. The Kouga Ninja Scrolls 切比雪夫距离 +线段树
- 使用inetaddress测试目标可达性_PDPS软件机器人虚拟仿真:Smart Place功能介绍与使用方法...
- asp.net用url重写URLReWriter实现任意二级域名(续)
- rtt面向对象oopc——0.类、对象及派生
- 跑代码时出错:tensorflow.python.framework.errors_impl.UnknownError: 2 root error(s) found. (0) Unknown……
- selenium 使用
- 阿里云CentOS 7中zabbix4.2配置shell脚本邮件报警
- Unity3D基础16:网格过滤器和渲染器
- Visual Studio 2017 编译Clang
- RHEL/Centos下VSFTPD服务器搭建
- Zcurd与Eova对比,欢迎吐槽!
- 1、什么是ASIC芯片?
- 有趣的符号图画(颜文字)(I have a AC dream)(神兽护体)(保佑你次次Accepted)
- 【发现】中国与日德最可怕的差距,看着寒心
- 服务器网页篡改,网站服务器网页防篡改系统
- ssm人力资源考勤系统
热门文章
- ARToolKit从图片生成特征点数据
- 连接Android与ASP.NET Core Web API的完整教程
- TypeScript 3.7 发布,带来 Optional Chaining 等特性
- mysql 阿里云 版本_阿里云虚拟主机mysql已经支持版本切换,支持MySQL 5.7.25
- java怎么中断流_JAVA代码运行中断
- 时区 java 巴黎,关于时区:Java没有有关所有IANA时区的信息
- python 写入excel_基于Python实现Excel的读写
- 前端埋点的缺点_【埋点学习埋点质量】埋点的框架设计及其准确性
- es java match_java操作elasticsearch实现条件查询(match、multiMatch、term、terms、reange)...
- docker多个容器一起打包_如何实现多个docker容器同时执行一条命令?