AndroidStudio XML文件之style标签详解

前言:

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                 状态栏颜色,默认使用colorPrimaryDark

4.windowBackground       窗口背景颜色

5.navigationBarColor        底部栏颜色

6.colorForeground            应用的前景色,ListView的分割线,switch滑动区默认使用该颜色

7.colorBackground            应用的背景色,popMenu的背景默认使用该颜色

8.colorAccent                    CheckBox,RadioButton,SwitchCompat等一般控件的选中效果默认采用该颜色

9.colorControlNormal        CheckBox,RadioButton,SwitchCompat等默认状态的颜色。

10.colorControlHighlight   控件按压时的色调

11.colorControlActivated    控件选中时的颜色,默认使用colorAccent

12.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

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值