android样式与主题

针对应用中所有Activity或者针对某个Activity设置样式,可以通过编辑AndroidManifest.xml来完成。

1.设置应用中所有Activity活动的主题
<application android:theme="@style/wrap_content">
<application android:theme="@style/wrap_content">这样,应用中所有Activity中的所有组件都会默认使用包裹布局。

2.设置某个指定的Activity主题
<activity android:theme="@style/wrap_content">
另外,android提供了许多自带的主题样式。例如Theme.Dialog、Theme.Translucent等等。使用方式也很简单
<activity android:theme="@android  :style/Theme.Dialog">

一、样式
样式是属性的集合,例如定义属性fontColor、fontSize、layout_width、layout_height等,以独立的资源文件存放在XML文件中,并设置样式的名称。
Android Style类似网页设计中的级联样式CSS设计思路,可以让设计与内容分离,并且可以方便的继承、覆盖、重用。


1.使用Style
首先,在res/values/下创建Style XML资源文件,这里创建的Style资源文件名命名为styles.xml,这个可以自己自定义。
styles.xml内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="wrap_content">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
</style>
</resources>
其中,style标签中name属性类似CSS中的class name,item标签中的name对应属性的名字,item标签对中的text对应属性的值。


2.使用样式:
<?xml version="1.0" encoding="utf-8"?>
<TextView
    style="@style/wrap_content "
    android:textColor="#00FF00"
    android:text="@string/hello" />


3、样式的继承
有两种方式来实现继承,一是通过style的parent属性,二是使用类似CSS中的命名规则来实现。
一、通过parent属性
修改styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="wrap_content">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
    </style>
    
    <style name="inherit" parent="wrap_content">
        <item name="android:textColor">#00FF00</item>
    </style>
</resources>
新增名为inherit的样式,并且继承名为wrap_content样式,也就是说inherit具有wrap_content样式中定义的属性参数。
引用方式:style="@style/inherit"
二、通过命名规则实现
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="wrap_content">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
    </style>
    
    <style name="wrap_content.inherit">
        <item name="android:textColor">#00FF00</item>
    </style>
</resources>
</resources>通过“.”号实现继承。
引用方式:style="@style/wrap_content.inherit"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值