style作用在单个视图或控件上,抽取共有的属性,实现复用。

  style的继承有两种方式:

  通过parent标识父style

 <style name="GreenText" parent="@android:style/TextAppearance">
<item name="android:textColor">#00FF00</item>
</style>

  父style的name作为前缀加“.”连接新style的name

 <style name="CodeFont.Red">
<item name="android:textColor">#FF0000</item>
</style>

  其中,第2种方式可以无限连接子style实现多层继承。

 <style name="CodeFont.Red.Big">
<item name="android:textSize">30sp</item>
</style>

  

  相对第1种,Android对第2种方式做出的限制就是引用的style必须是由自己定义的,或者说父style和子style必须是定义在同一个程序内,不能引用第三方或系统的style。毕竟对于系统的style的引用是需要加上android:前缀作为命名空间。其次在使用style时,对于第2种方式定义的style,必须引用其完全的名字,也就是说必须要包含完整的前缀和名字:

 <EditText
style="@style/CodeFont.Red.Big"
... />

  Android对于第1种定义方式并没有限制,所以所有以第2种方式定义的style都可以转成第1种:

 <style name="Big" parent="CodeFont.Red">
<item name="android:textSize">30sp</item>
</style>

  

  当使用parent指定父style后,前缀方式则不再起作用,只是作为style的名字。也就是说,Android的style不支持多继承,只能一层一层地继承。

  

  参考资料

  Style在Android中的继承关系

  

  

  

.

  

Android style 继承的更多相关文章

  1. 解决android:theme="@android:style/Theme.NoDisplay" 加入这句话后程序不能运行

    原因: 原来用的是ActionBarActivity,继承自 ActionBarActivity的类必须指定固定的集中Theme风格,而这些 Theme 风格是需要导入V7中的 appcompat L ...

  2. Android studio使用android:style/Theme.Dialog报错:You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)

    查找原因是在activity java代码部分继承了compatactivity public class DialogActivity extends AppCompatActivity 但是在An ...

  3. 导出 XE6 预设 Android Style (*.style) 档案

    如果想要修改 Android Style 可以将它导出成 *.style 后再加入 TStyleBook 内来修改(iOS 的方法亦同):

  4. android:style.xml

    <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2006 The Andr ...

  5. Android系统自带样式(@android:style/) (转)

    摘自:http://blog.csdn.net/hongya1109110121/article/details/11985545 在AndroidManifest.xml文件的activity中配置 ...

  6. Android系统自带样式(@android:style/)

    在AndroidManifest.xml文件的activity中配置 1.android:theme="@android:style/Theme" 默认状态,即如果theme这里不 ...

  7. (转)Android系统自带Activity样式(@android:style/)

    在AndroidManifest.xml文件的activity中配置 1.android:theme="@android:style/Theme" 默认状态,即如果theme这里不 ...

  8. (转)Android系统自带样式(@android:style/)

    在AndroidManifest.xml文件的activity中配置 1.android:theme="@android:style/Theme" 默认状态,即如果theme这里不 ...

  9. android style 退出动画 解决退出动画无效问题

    在AndroidMenifest.xml文件里面的Activity声明中,增加自己的Theme声明,如下: <activity android:name=".MyOrderListSe ...

随机推荐

  1. 函数函数sigaction、signal

    函数函数sigaction 1. 函数sigaction原型: int sigaction(int signum, const struct sigaction *act, struct sigact ...

  2. python---使用字典来实现链接表图

    最后一章,坚持!!! # coding = utf-8 class Vertex: def __init__(self, key): self.id = key self.connected_to = ...

  3. 【bzoj4031】[HEOI2015]小Z的房间

    题解: 矩阵树定理入门题 一个图的邻接矩阵G:对于无向图的边(u,v),G[u][v]++,G[v][u]++ 一个图的度数矩阵D:对于无向图的边(u,v),D[u][u]++,D[v][v]++; ...

  4. uva 1232

    题意: 建筑物在多长的部分是最高的成为该建筑物的覆盖度.求所有建筑物的覆盖度之和. 链接: https://vjudge.net/contest/202699#problem/E 题解: 这道题还是挺 ...

  5. day10.函数升级

    1.写函数,接受n个数字,求这些参数数字的和.(动态传参) def summ(*args): all = 0 for i in args: all = all + i return all ret = ...

  6. python 将列表(也可以是file.readlines())输出多个文件

    open_diff = open('yanggao.txt', 'r',encoding='utf-8')diff_line = open_diff.readlines() diff_match_sp ...

  7. HDU2449 Gauss Elimination 高斯消元 高精度 (C++ AC代码)

    原文链接https://www.cnblogs.com/zhouzhendong/p/HDU2449.html 题目传送门 - HDU2449 题意 高精度高斯消元. 输入 $n$ 个 $n$ 元方程 ...

  8. Codeforces 873F Forbidden Indices 字符串 SAM/(SA+单调栈)

    原文链接https://www.cnblogs.com/zhouzhendong/p/9256033.html 题目传送门 - CF873F 题意 给定长度为 $n$ 的字符串 $s$,以及给定这个字 ...

  9. python3实现链表

    1.链表的实现 a.链表的结构为: b.链表的实现方法; #链表结构实现 私有属性_pro_item是指向下个节点的指针,_item为此节点的值 class ChainDemo(): def __in ...

  10. sqlldr的使用

    1,在公司进行预处理的时候,发现文件不能入库,而公司前辈使用的是sqlldr的技术将解析后的文件入库,前辈在测试的时候使用的是本机上的数据库(见图一),没有使用完整的远程连接oracle的正确方式,所 ...