样式和主题&自定义样式和主题

如果一个样式用的比较多,以后还可能会修改,我们最好把它做成样式。

样式和主题的定义都是以键值对的形式定义的。

样式是在res/values文件夹下的styles.xml文件中定义的如:

<style name="text_content_style">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">#ff0000</item>
    <item name="android:textSize">20sp</item>
</style>

在布局文件中引用样式如:

<TextView
    style="@style/text_content_style"
    android:text="你好啊!" />

以后修改的时候只需要修改样式里面的值就可以了。


样式和主题的区别:

作用范围不同,样式都是作用在一个小控件上,主题作用在一个Activity上或者整个应用程序。样式都在布局文件里面配置,而主题要在清单文件中配置


主题的定义如:

<style name="blue_bg_theme">
    <item name="android:background">#0000ff</item>
</style>

主题 配置在Activity上:

<activity
    android:name="com.uc.styletheme.MainActivity"
    android:label="@string/app_name"
    android:theme="@style/text_content_style" >

如果将主题配置到application节点中,就作用在整个应用程序上


系统控件默认的样式在sdk/platforms/android-16/data/res/values目录下的styles.xml文件和theme.xml文件中。

若想修改系统控件默认的样式,可以把系统中的样式定义代码复制到自己应用程序的styles.xml文件中,再做修改。


样式的继承

<style name="RED_NoTitleBar">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:background">#ff0000</item>
</style>

<style name="BLUE_NoTitleBar" parent="@style/RED_NoTitleBar">
     <item name="android:background">#0000ff</item>
</style>

<style name="BLUE_NoTitleBar.GREEN_NoTitleBar" >
     <item name="android:background">#00ff00</item>
</style>

继承有两种方式,如上面的例子所示。 推荐使用第一种写法

应用场景:夜间模式:做两个样式,在这两个样式之间进行切换。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值