样式与主题

一、样式的定义、继承、及引用

1、定义及继承的格式:

<style name="iot_style" parent="njupt_style">
        <item name="android:textSize">26sp</item>
    </style>

解释:

1)name属性:定义style的名字。特别地,如果name="a.b",则表示定义一个名为b的样式,它继承于a样式

2)parent属性:指定父元素。

3)<style name="iot_style" parent="njupt_style">.这句话的意思就是,定义一个名为iot_style的样式,它继承于njupt_style这个样式。。


2、例子:

<style name="njupt_style">
        
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#f00</item>
        <item name="android:textSize">22sp</item>
    </style>
    
    <style name="iot_style" parent="njupt_style">
        <item name="android:textSize">26sp</item>
    </style>
    
    <style name="njupt_style.iot1_style">
        <item name="android:textColor">#0f0</item>
    </style>


3、引用(主要是在控件上引用,如果在activity级别上引用,那就叫做主题了)

例子:

 <TextView 
        style="@style/njupt_style"
        android:text="刘诗诗"
        />
    
    <TextView 
        style="@style/iot_style"
        android:text="刘亦菲"
        />
    
    <TextView 
        android:text="章泽天"
        style="@style/njupt_style.iot1_style"
        />



以下对以上样式的定义与使用做一个小结:



二、主题

其实,用一句可能不怎么准确的说法来描述就是,注意就是在AndroidManifest.xml中activity标签中theme属性所指定的样式。它的定义方式就是style(样式)。而引用方式如下:

 <activity
            android:name="com.njupt.style.MainActivity"
            android:label="@string/app_name"
            android:theme="@style/fullscreen_theme"


上面是通过布局文件来设置主题。我们还可以通过代码来设置主题

代码如下:

@Override
	protected void onCreate(Bundle savedInstanceState) {
		
		setTheme(android.R.style.Theme_Black_NoTitleBar_Fullscreen);
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
	}
即在super.onCreate(savedInstanceState);之前加上这么一句话

setTheme(android.R.style.Theme_Black_NoTitleBar_Fullscreen);

-------------------------------------------------------------------------------------------------------------------------------------------------

以下对style与theme的关系与区别做一个小结:

关系:其实theme可以看做是activity或application级别的style。他们的定义方式都是一样的

区别:style的引用地方在main.xml(即布局文件)中,而theme的引用在AndroidManifest.xml(即清单文件)中。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅气的东哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值