Android官方文档--样式与主题

Android Ui设计总结

  1. 样式与主题

样式与主题

样式可以声明类似高度,内边距,字体颜色,字体大小,背景颜色等等。样式与主题影响的范围不一样,样式仅影响单个View,而主题影响这个Activity或Application.

  • 定义样式

res/values/下新建任意的xml文件。类似如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="CodeFont" parent="@android:style/TextAppearance.Medium">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#00FF00</item>
        <item name="android:typeface">monospace</item>
    </style>
</resources>

注意的点:<item>的值可以为字符串,颜色值,引用,或其他样式表

  • 样式的继承

可以通过继承已有的style来重写或添加样式。

两种方式:1. parent 属性值 2. 使用前缀

    <!-- 第一种-->
    <style name="GreenText" parent="@android:style/TextAppearance">
        <item name="android:textColor">#00FF00</item>
    </style>
    <!-- 第二种-->
    <style name="GreenText.Red">
        <item name="android:textColor">#FF0000</item>
    </style>

注意:在继承Android原有自定义的样式时只能使用第一种方式,第二种可以循环继承,即可写成这样子的方式<style name="CodeFont.Red.Big">

  • 样式属性

    1. Item能设置View的XML属性
    2. 当View的样式所设置的属性不存在或无效时会自动忽略,仅匹配当前View可支持的样式属性
    3. 某些样式属性只能在主题下使用,对View无效,对Activity和Application有效,例如windowNoTitle属性
    4. 当然属性前要有命名空间前缀
  • 样式与主题的适用

两种方式:

  1. 在布局文件中对个别的View定义android:style
  2. Android manifest文件中<activity> 或 <application>元素设置android:theme

注意:在viewGroup应用style不会影响其子控件

  • 在不同的Android版本下选用不同的主题

将style文件放置在相应的res/values/文件夹下。例如将3.0以上的主题放置在res/values-v11

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值