Android中theme.xml与style.xml的区别
一、相同点
两者的定义相同、继承方式也相同
<?xml version="1.0" encoding="utf-8"?>
<resources> <!--
继承方式
1、parent
通过parent属性用来继承Android已经定义好的style
比如:parent="android:Theme.Dialog" 或 parent="@android:style/Theme.Dialog"
2、继承自定义的style,可以使用parent或 . 的方式
比如 <style name="parent.child"> View中调用时 style="@style/parent.child"
或 <style name="child" parent="@style/parent.child"> View中调用时 style="@style/child"
或 <style name="child" parent="parent.child"> View中调用时 style="@style/child"
-->
<style name="myDialog" parent="android:Theme.Dialog">
<item name="android:windowBackground">@mipmap/ic_launcher</item>
</style> <style name="parent">
<item name="android:textSize">30sp</item>
<item name="android:text">parent</item>
</style>
<!-- .的继承方式 -->
<style name="parent.child">
<item name="android:text">child</item>
<item name="android:textColor">#ff00ff</item>
</style> <!-- parent的继承方式-->
<style name="child" parent="@style/parent.child">
<item name="android:text">childs</item>
</style>
</resources>
二、不同点
一)、使用的地方不同
1.Theme 是用来设置应用全局主题风格的,对整个应用或某个Activity存在影响。 5.0 上可以让你局部的调整设计风格;
1) AndroidManifest.xml中:
<application android:theme="@android:style/theme">
<activity android:theme="@android:style/theme">
2) 在Activity通过代码设置:
setTheme(R.style.theme);
注意必须在setContentView()之前设置才有效
2.Style 主要是用在View上的,当你在view上设置 style 的时候,LayoutInflater会读取该 style 的内容并在任意单独设置的样式之前把该内容设置到 AttributeSet中。比如:
<EditText
android:layout_height="wrap_content"
android:text="EditText"
style="@style/Title"
android:layout_width="fill_parent"
android:id="@+id/editText1"/>
二)、 在R.attr定义中以window开头的一些属性只对theme有效。
三)、如果一个应用使用了theme,同时应用下的view也使用了style,那么当theme与样式style发生冲突时,style的优先级高于主题
Android中theme.xml与style.xml的区别的更多相关文章
- android 中theme.xml与style.xml的区别
from://http://liangoogle.iteye.com/blog/1848448 android 中theme.xml与style.xml的区别: 相同点: 两者的定义相同. <r ...
- 在Android中把内容写到XML文件中
在Android中把内容写到XML文件中 saveXmlButton.setOnClickListener(new OnClickListener() { @Override public void ...
- Android中Intent传值与Bundle传值的区别详解
Android中Intent传值与Bundle传值的区别详解 举个例子我现在要从A界面跳转到B界面或者C界面 这样的话 我就需要写2个Intent如果你还要涉及的传值的话 你的Intent就要写两 ...
- android 中theme和style的语法相关
1.theme和style都是一组属性的集合,用于定义文本.颜色.大小等显示风格.他们都是资源,可以用android系统级别的一些默认的风格和主题资源,你也可以自定义你自己的主题和风格资源. 2.自定 ...
- Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用
一. 在res/values 文件下定义一个attrs.xml 文件.代码如下: <?xml version="1.0" encoding="utf-8" ...
- Android中通过代码获取arrays.xml文件中的数据
android工程res/valuse文件夹下的arrays.xml文件中用于放各种数组数据,比如字符串数组.整型数组等,数组中的数据可能是具体的值,也有可能是对资源数据的引用,下面针对这两种情况通过 ...
- Android主题theme和风格style总结
用到了Android的主题和风格,感觉很多地方需要总结和记录下来.其实主题和风格是有很大的作用的,特别是界面要求比较高的客户端. Style:是一个包含一种或者多种格式化属性的集合,我们可以将其用为一 ...
- Android 中pid与uid的作用与区别
PID:为Process Identifier, PID就是各进程的身份标识. 程序一运行系统就会自动分配给进程一个独一无二的PID.进程中止后PID被系统回收,可能会被继续分配给新运行的程序,但是在 ...
- ANDROID 中UID与PID的作用与区别
PID:为Process Identifier, PID就是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID.进程中止后PID被系统回收,可能会被继续分配给新运行的程序,但是在a ...
随机推荐
- ·数据库基本内容回顾-day16.06.30
一. 模式的定义和删除 ---创建了一个模式,就创建了一个数据库命名空间,一个框架.cascade.restrict create schema<模式名> authorization & ...
- 使用solr报错,错误信息 include(SolrClient.php): failed to open stream: No such file or directory
这个是因为本地没有安装php-solr的扩展导致的,安装方法(使用的是ubuntu) cd /optwget http://pecl.php.net/get/solr-1.0.2.tgztar -xv ...
- C#_串口程序_二次打包_事件响应
using System;using System.IO.Ports;using System.Windows.Forms; namespace Dll_Serial_Comm{ public ...
- 还是把一个课程设计作为第一篇文章吧——学生学籍管理系统(C语言)
#include <stdio.h> #include<stdlib.h> #include<string.h> typedef struct student { ...
- Vim+Taglist+Ctags(源码阅读).
终于搞定了,之前弄那么两天配置,都不成功. 需要软件: ctags taglist 1,ctags. 1)说明: 这个我就不演示了,我的RedHat5.5本身就有ctags. 2)验证ctags是否已 ...
- MySQL中的binlog相关命令和恢复技巧
操作命令: 复制代码 代码如下: show binlog events in 'mysql-bin.000016' limit 10; reset master 删除所有的二进制日志 flush lo ...
- mysql查询计划
mysql查询计划 1:客户端发起查询请求 2:服务器接收到请求后,先查询缓存 如果缓存命中,直接返回数据给客户端 否则,解析sql 3:sql解析完成后,进行预处理 4:有查询优化器生存查询计划 5 ...
- iOS SearchBar为什么跳不出来第三方输入法
去掉键盘类型就好了 // lineSearchBar.keyboardType = UIKeyboardTypeNamePhonePad;
- mac更新之前,好容易把网络设置好
1.[虚拟机]虚拟网络编辑器--恢复默认设置 [主机网络]自动ip [VM8] 当时忘记将mac里面的网络设置截图...导致更新后网络出问题后却显示网络设置失败
- angularjs不同页面间controller传参方式,使用service封装sessionStorage
这里分享一个我在实际项目中,使用service封装的一个依赖sessionStorage的传参服务. 这里先说下大背景,在我们的实际开发中,登陆之后一般会存在一个token,这个token将会贯穿全场 ...