一、样式的定义、继承、及引用
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(即清单文件)中。