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

  style的继承有两种方式:

  通过parent标识父style

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

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

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

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

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

  

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

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

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

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

  

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

  

  参考资料

  Style在Android中的继承关系

  

  

  

.

  

转载于:https://www.cnblogs.com/WJQ2017/p/7617438.html

Android style 继承相关推荐

  1. android @style/name,android style和attr的用法

    一  .对style和attr的引用 1. 当引用平台的style做为style的parent时,[email protected]:style/主题" == [email protecte ...

  2. android style(样式)和theme(主题)设置

    android应用程序如何设置样式,包括样式定义.单个view设置样式. 全局样式设置.样式继承关系. 1.样式定义 android的样式定义在res/values/style.xml文件中,类似we ...

  3. Android Style和自定义属性

    文章目录 1. Android Style & Theme 1.1 基本概念 1.1.1 Style(样式) 1.1.2 Theme(主题) 1.2 创建和应用style 1.3 扩展和自定义 ...

  4. android Style

    Android上的Style分为了两个方面: 1. Theme是针对窗体级别的,改变窗体样式: 2. Style是针对窗体元素级别的,改变指定控件或者Layout的样式. Android系统的them ...

  5. Android style(样式) 和 theme(主题) 属性

    1. 定义 样式和主题资源都可用于对Android UI组件进行"美化",只要充分利用好这两个属性资源,我们可以开发出各种风格的应用界面.         style 样式: 一个 ...

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

    在AndroidManifest.xml文件的activity中配置   (API 18中Manifest文件中,<activity />要有android:theme="@an ...

  7. WPF的样式(Style)继承

    WPF的样式(Style)继承 参考自http://www.cnblogs.com/SkyD/archive/2008/08/09/1264294.html,非常感谢. 用Style的BaseOn属性 ...

  8. android 继承listview,Android listView 继承ListActivity的用法

    Android listView 继承ListActivity的用法 在手机中经常有列表方式.如果Activity中只有唯⼀⼀个List(这也是通常的情况),可以继 承ListActivity来实现. ...

  9. android theme继承原理,android – 使用Holo父主题从Theme.Light继承editText

    所以我的想法是从android:Theme.Holo.Light扩展一个自定义主题(实际上只是一种风格),然后覆盖EditText属性以使用android:Theme中的父设置. 它看起来像andro ...

最新文章

  1. java将一个数转成36进制的数_编程实现将一个N进制数转换成M进制数。
  2. 在Eclipse中打开Hadoop工程
  3. 从零开始用TensorFlow搭建卷积神经网络
  4. ui设计看的书_5本关于UI设计的书
  5. C++算法三:选择排序
  6. 空间索引 - 各数据库空间索引使用报告
  7. mysql pt_mysql管理工具之pt
  8. 大牛熬夜整理,京东网易滴滴,天津农行软开java面试题合集,大牛已于上个月入职华为!
  9. 雷达散射截面(RCS)
  10. 腾讯电脑管家怎么阻止软件自动安装
  11. DES加密算法(框图流程详细分析)(C++实现)
  12. Error: Delta RPMs disabled because /usr/bin/applyd
  13. 如何查看office是否永久激活版本
  14. excel 交互式图表_创建一个交互式Excel图表
  15. 基于S32K的MBD开发环境搭建
  16. 《万历十五年》的读后感范文3380字
  17. PC微信3.7.0将本地文件从MsgAttach文件夹转移回原先的File文件夹
  18. 台大郭彦甫教授Matlab讲解笔记(一)
  19. html阅读小红书,小红书排名怎么刷:以下HTML5页面大纲开始!
  20. 5G时代,云计算发展的五大新趋势

热门文章

  1. 《c专家编程》笔记--define和typedef的区别
  2. Trust is the most important thing to the team!
  3. 洽谈 “会话技术” 纯干货赶紧收藏吧
  4. vue created
  5. awesome-go:很全的go语言资源合集
  6. 使用Notepad++开发C#,一个复杂点的csscript脚本
  7. C#(4) implicit explicit
  8. 【转】_declspec(naked) 使用
  9. Zimbra高级应用之-双向证书认证(一)
  10. Linux 学习 Ubuntu 12.04 配置指南