Android 主题风格(Theme&Style)介绍

本文介绍了Android中Style和Theme的概念及其使用,包括如何定义Style,应用Theme,以及Style和Theme的继承性。同时,解释了如何根据Android版本选择合适的系统Theme,并展示了Style如何在XML中解析并应用于View上。
摘要由CSDN通过智能技术生成

使用 Style

Android 中的View、Window等控件通常会定义一些属性来表示各自的外观、格式等信息,例如一个TextView中的字体大小、字体颜色,一个Dialog的窗口类型、窗口大小等。而Style就是设置到一个View或者Window上的一系列属性的集合。我们可以将TextView的字体样式、字体颜色、字体大小等属性定义成一个Style,所有使用这个Style的TextView将会有相同的字体样式、字体颜色、字体大小。

Style一般是以xml文件的形式保存在资源目录中的,并且是与布局资源layout文件分离开来的,这样我们就可以将一套Style与使用这套Style的控件分离开来,进行独立维护,而且还可以将同一套Style复用到多个控件上,方便移植。从这一点上看Style有点类似于网页设计中的CSS,允许开发者将设计与内容分离。

下面是layout中一个TextView的定义,其中的typefacetextColortextSize几个属性是直接定义的:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:typeface="monospace"
    android:textColor="#ffff00ff"
    android:textSize="24sp"
    android:text="@string/hello_world"/>

如果我们将这几个属性分离出来,定义成一个Style,就会是下面的样子:
Style:

<style name="CodeFont">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:typeface">monospace</item>
    <item name="android:textColor">#ffff00ff</item>
    <item name="android:textSize">24sp</item>
</style>

Layout:

<TextView
    style="@style/CodeFont"
    android:text="@string/hello_world" />

这样CodeFont这个Style还可以应用到其他的Tex

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值