style与theme

在android开发中style和theme是开发者基础知识点,两者有很多容易混淆的地方,因此,总结一下其中的异同点:

一:概念

   (1) Theme是针对窗体级别的,改变窗体样式的,如窗口标题、边框等。不能作用于单个View组件,是对整个应用的所有Activity或单个Activity起作用。

   (2) Style是针对窗体元素级别的,改变指定控件或者Layout的样式


二:用法

Style:

             (1) 在res\values\下创建styles.xml文件
             (2)添加<resources>节点(根节点)

             (3)添加自定义的style及其属性

如:

                style的写法通常为:
<style name="NewsDetailActivityTheme" parent="@style/AppTheme">
    <item name="android:windowActionBarOverlay">true</item>
    <item name="windowActionBarOverlay">true</item>
</style>
其中,parent属性为其父style的名字(可选),通过设置该值,可继承其它style的属性。当我们需要对现有的style的属性。当我们需要对现有的style做微小的改变
        (4)为控件指定Style
<View
    android:id="@+id/v_dot0"
    style="@style/dot_style"
    android:background="@drawable/dot_focused"
    android:visibility="invisible" />

Theme:
        (1)在setContentView()方法之前设置Theme:setTheme(R.style.XXX);
        (2)在mainfest文件中加入Theme  Theme就是Style

AndroidManifest.xml中:
<application
    android:theme="@style/AppTheme">


activity使用

<activity
    android:theme="@style/AppTheme" />
在R.attr定义中以window开头的一些属性只对theme有效。
如果一个应用使用了theme,同时应用下的view也使用了style,那么当theme与样式style发生冲突时,style的优先级高于主题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值