因為突然想起有個同學之前做課程設計時,因為這個Theme使用的問題糾結良久,這裡就給大家小節一下,很簡單,(*^__^*) 嘻嘻……
Style(樣式)
什麼是樣式?為每個View重複地指定字型,顏色等屬性,無疑會增加大量的代碼,而且不利於我們後期項目的維護,所以就引入樣式(Style)學過web的都知道,我們可以通過css的選取器對html中的元素進行設定;而在UI組件中,我們可以通過style屬性來指定樣式。
Style的使用步驟:
樣式資源檔都放在
res/values目錄下,根項目,
;可包含多個
子項目,每個style可定義一個樣式;有如下兩個屬性,
name:樣式名 parent:繼承父樣式,當然也可以覆蓋
使用樣本:程式碼範例:
①定義一個樣式檔案 my_style.xml
程式碼分析:定義了兩個樣式,第二個樣式繼承了第一個樣式的所有屬性,並且覆蓋了父類的背景屬性
②在另一個xml檔案中使用該樣式:
③運行:
Theme(主題)
什麼是主題?與前面的樣式類似,區別在於,
主題是對整個應用中所有的Activity都起作用,或者對指定的Activity起作用定義格式通常是
改變視窗的外觀格式,標題,邊框等
Theme的使用步驟:
根項目依舊為
,使用
來定義主題
使用執行個體:
:
這裡的話我們在主題中設定了沒有標題,覆蓋整個螢幕,以及設定了綠色的邊框設定了內邊距,以及填充了顏色(我們用了透明的顏色):在#xxxxxx的前面加上兩位元表示透明度
代碼執行個體:
①建立一個shapeDrawable.xml資源檔,用於
繪製邊框border.xml:
②
自訂佈景主題檔案,MyTheme
③
調用該主題:調用方法有以下幾種:
1)這隻在AndroidManifest.xml檔案中,為Activity指定主題,或者為整個應用設定主題,在元素添加android:theme = "MyTheme"即可2)在Java代碼中設定,如下:
package com.jay.example.themedemo;import android.os.Bundle;import android.app.Activity;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setTheme(R.style.MyTheme);setContentView(R.layout.activity_main);}}
當然theme和style一樣可以繼承哦,這裡就不多解釋了...
源碼下載:style執行個體源碼:http://pan.baidu.com/s/1o64nEeItheme執行個體源碼:http://pan.baidu.com/s/1sjtYkWX