(1)默认theme代码如下:

运行结果:

视觉效果:ActionBar为Dark,背景为Light。

(2)将theme改为Light:

运行结果:

视觉效果:ActionBar和背景都为Light。

(3)与默认theme效果相同的Theme.Holo.Light.DarkActionBar:

出现错误:这个指令只能用于API level 14以上的版本。

修改后就没错了吧

恩 妥妥的了 运行来庆祝一下

视觉效果:看起来与默认theme效果完全相同,用“看起来”是因为笔者暂时还不确定它们是否有区别。

(4)将theme修改为Theme.Holo

运行结果:

视觉效果:ActionBar和背景都变为Dark。

(5)试一下将theme一段删去:

运行结果:同(4)。别打我……我并非有意偷懒,因为这个贴图实在是太麻烦了,这个结果有无穷种可能,没办法列举穷尽。

是这样的:其实有规律可循,并不是没有使用theme就使用默认的theme。它将会运行最近最后一次有theme时生成的app。所以theme自然也是上一次的theme。如果最后一次的theme设为ActionBar和文本都为Dark,删去theme后下次也是这样;如果最后一次的theme设为ActionBar和文本都为Light,删去theme后下次也是这样;如果……不码了……。应该都懂的了,恩……

(6)重点:

在manifest.XML文件中,<application>下的theme修改后会应用到app全局;在单个<activity>下的theme设置只会应用到单一的activity中。没图说个丁日,所以上图顶万言:

前面的几组测试都是在<application>下修改theme的。所以所有Activity——无论是第一个MainActivity还是第二个DisplayMessageActivity,显示的theme都一样。

下图将删去<application>下的theme,分别将MainActivity和DisplayMessageActivity的theme设为@android : style/theme.Holo(Dark) 和

@android : style/theme.Holo.Light (Light) ,你会发现,你会讶异,你是我最压抑最深处的秘密:

没有任何问题了,跟预期想的完全吻合。

接下来再尝试<application>和每个<activity>的theme同时进行设置(为了有更直观的结果,将<application>设为 @android : style/Theme.Holo(Dark);下面两个<activity>设为 @android : style/Theme.Holo.Light(Light)):

运行结果是两个activity的Theme都是Light。因此可以得出结论:单个的<activity>的theme设置将覆盖<application>的theme设置。可理解为<activity>是<application>的子类,子类<activity>的theme方法覆盖了父类<application>的theme方法,因此调用子类<activity>的版本。

(Android Studio)ActionBar's Theme/Style [ActionBar主题风格修改]的更多相关文章

  1. android studio eclipse keymap theme 快捷键 主题风格设置

    android studio eclipse keymap theme 快捷键 主题风格设置 将Android Studio的快捷键设置与eclipse一致,使用习惯的快捷键才顺手.Mac系统下:进入 ...

  2. Android 自定义属性(attrs)、样式(Style)、主题(Theme)

    Android 自定义属性(attrs).样式(Style).主题(Theme) https://www.cnblogs.com/dandre/p/4507024.html https://blog. ...

  3. Android Studio精彩案例(一)《ActionBar和 ViewPager版仿网易新闻客户端》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 为了能更好的分享高质量的文章,所以开设了此专栏.文章代码都以Android Studio亲测运行,读者朋友可在后面直接下载源码.该专栏 ...

  4. android studio 使用SVN 锁定文件,防止别人修改(基于Android studio 1.4 )

    首先假设开发 A , 和 开发 B , 在使用 SVN 进行项目管理.那么A如何才能 某个锁定文件,防止B修改. 1.第一步,给这个文件加锁    完成这一步,则这个文件就别锁定了. 2.第二步,假如 ...

  5. Android Studio(一):介绍、安装、配置

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  6. 【Android 应用开发】 ActionBar 样式详解 -- 样式 主题 简介 Actionbar 的 icon logo 标题 菜单样式修改

    作者 : 万境绝尘 (octopus_truth@163.com) 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/3926916 ...

  7. 【Android 应用开发】 ActionBar 样式具体解释 -- 样式 主题 简单介绍 Actionbar 的 icon logo 标题 菜单样式改动

    作者 : 万境绝尘 (octopus_truth@163.com) 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/3926916 ...

  8. Android Studio设置图片背景及主题设置

    因为Android Studio是基于IDEA的,所以IDEA里面能用的插件Android Studio也能用,这次图片背景是依赖IDEA下的一个插件,名为BackgroundImage的插件,用户可 ...

  9. 在Windows下将code style导入到Android Studio的方法

    很多网站上提供了Ahdroid studio的“代码样式”文件,那么作为win平台的用户,我们就需要学会如何导入这个样式文件.我也是查了很久才知道是怎么导入的,下面就是我的经验分享. 一.下载代码样式 ...

随机推荐

  1. 【BZOJ 2038】[2009国家集训队]小Z的袜子(hose)

    Description HH有一串由各种漂亮的贝壳组成的项链.HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH不断地收集新的贝壳,因此, 他的项链变 ...

  2. 微软职位内部推荐-Senior NLP Scientist & Developer

    微软近期Open的职位: Contact Person: Winnie Wei (wiwe@microsoft.com )Senior Software Development Engineer/NL ...

  3. xcode设置 - App内存暴增

    当你发现你的项目中什么没有写,只是启动App内存就飙升到50M甚至60M以上,那么请你接着往下看吧,本文对你绝对非常有用! 1. Enable zombie object: 为了方便我们调试程序,我们 ...

  4. (转)深入理解SP、LR和PC

    网址:http://blog.csdn.net/zhou1232006/article/details/6149548 深入理解ARM的这三个寄存器,对编程以及操作系统的移植都有很大的裨益. 1.堆栈 ...

  5. Objective C 四舍五入,float处理

    NSLog(@"平方:%.f", pow(3,2) ); //result 9 NSLog(@"上舍入:%.f", ceil(3.000000000001)); ...

  6. 使用C#选择文件夹、打开文件夹、选择文件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. spoj 346

    当一个数大于等于12  那分别处以2, 3, 4之后的和一定大于本身    但是直接递归会超时    然后发现有人用map存了   膜拜..... #include <cstdio> #i ...

  8. Interface Serializable

    public interface Serializable Serializability of a class is enabled by the class implementing the ja ...

  9. Tornado,了解一下

    多了解不一样的PYTHON框架,对深入了解DJANGO,总是有帮助的. import textwrap import tornado.httpserver import tornado.ioloop ...

  10. java去除重复的字符串和移除不想要的字符串

    在java开发中碰到了有些字符串是重复的,如果在进行业务处理要全部遍历太对的数据就会重复,所以在进行业务处理前进行一个去重操作. 这里由于业务需要所以先将字符串转化为string数组,使用split分 ...