前言:

Android的样式一般定义在res/values/styles.xml文件中,其中有一个根元素resource,样式通过嵌套子标签style来完成,style可以嵌套多个item标签来设置不同的属性,从而提高复用率。

什么是Style:

style是一个标签,该标签里可以嵌套多个item子标签,通过item标签的name设置不同的属性,多个item组合起来就是一个style样式

示例:

<style name="DefaultProgressDialog" parent="android:style/Theme.Dialog" >
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>

Style标签里面的属性:

  • name="XXX"               定义该style样式的name名称
  • parent="XXX"             可以继承自哪一个Style标签,继承以后可对父标签已经有的属性进行重写

Style标签里可以嵌套的标签:

item标签的属性:

  • name="XXX"           name里面的值可以为任意字符串,对应的是某一个view的属性值(如果要引用的view不存在这个属性,默认为这个属性无效(忽略这个属性),并不会报错)

自定义控件里面的属性值怎么在style的item标签里声明:

在主工程的时候要加上包名:
    <style name="navigationbar_radiogroup_style">
        <item name="com.mobeta.android.dslv.view:drawableSize">@dimen/dp20</item>
    </style>
在module或其他类库的话,什么都不用加:
   <style name="navigationbar_radiogroup_style">
        <item name="drawableSize">@dimen/dp20</item>
    </style>

常用item属性:

窗口进出动画设置:<style name="WheelSelect" parent="@android:style/Animation"><item name="android:windowEnterAnimation">@anim/wheel_select_enter</item><item name="android:windowExitAnimation">@anim/wheel_select_exit</item></style>
设置Dialog的属性:<style name="DefaultProgressDialog" parent="android:style/Theme.Dialog"><item name="android:windowFrame">@null</item><item name="android:windowNoTitle">true</item><item name="android:windowBackground">@android:color/transparent</item><item name="android:windowIsFloating">true</item><item name="android:windowContentOverlay">@null</item></style>

各属性颜色的位置

1.colorPrimary                    应用的主要色调,actionBar默认使用该颜色,Toolbar导航栏的底色2.colorPrimaryDark            应用的主要暗色调,statusBarColor默认使用该颜色3.statusBarColor                 状态栏颜色,默认使用colorPrimaryDark4.windowBackground       窗口背景颜色5.navigationBarColor        底部栏颜色6.colorForeground            应用的前景色,ListView的分割线,switch滑动区默认使用该颜色7.colorBackground            应用的背景色,popMenu的背景默认使用该颜色8.colorAccent                    CheckBox,RadioButton,SwitchCompat等一般控件的选中效果默认采用该颜色9.colorControlNormal        CheckBox,RadioButton,SwitchCompat等默认状态的颜色。10.colorControlHighlight   控件按压时的色调11.colorControlActivated    控件选中时的颜色,默认使用colorAccent12.colorButtonNormal        默认按钮的背景颜色13.editTextColor                  默认EditView输入框字体的颜色。14.textColor                         Button,textView的文字颜色15.textColorPrimary            DisableOnly RadioButton checkbox等控件的文字16.textColorPrimary             应用的主要文字颜色,actionBar的标题文字默认使用该颜色17.colorSwitchThumbNormal:  switch thumbs 默认状态的颜色. (switch off)

参考资料:

https://blog.csdn.net/wangyanguiyiyang/article/details/50091313

AndroidStudio XML文件之style标签详解相关推荐

  1. java spring bean配置文件_Spring基于xml文件配置Bean过程详解

    这篇文章主要介绍了spring基于xml文件配置Bean过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 通过全类名来配置: class:be ...

  2. Tomcat中server.xml文件内各节点详解

    由于 Tomcat 基于 Java,实际上在各种 Linux 发行版里的配置方法都大同小异,只是我看见在 Arch Linux 环境里搭建 Tomcat 的文章比较少,所以在 Arch Linux 实 ...

  3. xml文件的解析过程详解

    XML项目工程展示图如下图: student.xml 文件展示:<?xml version="1.0" encoding="utf-8" ?> &l ...

  4. 02_Spring Bean 属性 即xml <beans>标签详解

    Spring Bean Spring IOC容器相当于一个工厂,容器中的 Bean 相当工厂的产品.工厂要生产和管理 Bean,需要让工厂知道加载那些Bean,如何加载. Spring 配置文件支持两 ...

  5. Java--web.xml加载过程;文件标签详解

    一.web.xml加载过程 我们在启动Javaweb项目时,首先需要启动一个容器(如Tomcat,JBoss) WEB加载web.xml过程如下: 1.在启动Web项目时,容器(如Tomcat,JBo ...

  6. web前端 --- HTML标签详解

    HTML标签详解 head头标签: meta标签.title标签.link标签.style标签.script标签 body标签: 字体标签: h1~h6标签.font标签.u标签.b标签.strong ...

  7. .vue文件中style标签的几个标识符

    .vue文件中style标签的几个标识符 在人生就要绝望的时候, 被编辑器所提示的一个scopedSlots所拯救. 卧槽, 写到最后才发现这个属性的具体卵用. 详情见最后解决办法. 问题背景 问题由 ...

  8. 前端基础-HTML的的标签详解

    阅读目录 一.head内常用标签 二. HTML语义化 三. 字符实体 四. h系列标签 五. p标签 六. img标签 七. a标签 八. 列表标签 九. table标签 十. form标签 一. ...

  9. W3C中meta标签详解

    2019独角兽企业重金招聘Python工程师标准>>> meta是html语言head区的一个辅助性标签.几乎所有的网页里,我们可以看到类似下面这段的html代码: <meta ...

最新文章

  1. 这个Python知识点,90%初学者没太整明白
  2. wordpress 内网安装插件_Wordpress安装后必做的优化操作
  3. linux下mkdir头文件_整理Linux下gcc编译中关于头文件与库文件搜索路径相关问题
  4. ActiveMovie属性说明,使用资料。
  5. 工商注册资质代办类网站源码 公司注册类网站织梦模板
  6. python sns绘制回归线_【干货!】用Python演绎5种常见可视化视图
  7. ES6新特性_ES6迭代器技术---JavaScript_ECMAScript_ES6-ES11新特性工作笔记018
  8. php 下载表格文件在哪里,PHPExcel强大之处在哪里?
  9. python如何快速登记凭证_如何高效地翻凭证?
  10. php监控nginx,zabbix php nginx 监控搭建
  11. 【探路者】10月16日立会报告(团队第1周-第3次)
  12. 转载的 matlab破解版下载与安装教程
  13. WordPress SEO插件,免费WordPress插件大全
  14. 顶隙计算公式_齿轮参数计算公式
  15. java子类继承父类变量_JAVA子类继承父类
  16. 计算机网络教程 笔记整理
  17. JS面向对象/继承/原型链/this指向/call方法
  18. Android 11 自动亮度调试流程
  19. 【JavaSe】面向对象篇(五) 三大特征之二继承
  20. 商业虚拟专用网络技术四数据传输安全技术

热门文章

  1. 什么是网站描述?如何批量获取网站描述?网站优化推广跟网站描述有什么关系?
  2. C语言实现字符串匹配并返回匹配字符串
  3. hackbar常用误区
  4. Hadoop常用脚本
  5. 九龙证券|今年1月份境外投资者 对境内股票投资创单月历史新高
  6. 小队战术游戏研究:武器
  7. 最好的网络协议入门书,我们都帮你选好了
  8. 蓝桥杯有奖竞猜(模拟)
  9. 【基础篇】-tensor(张量)
  10. AI这么火,要不要追赶AI的热潮?