樣式和主題(Styles and Themes)

2021-06-27 18:50:13 字數 2009 閱讀 2595

樣式和主題(styles and themes)

文章位置:develop>api guides>user inte***ce>styles and themes

樣式是指定乙個view或者window的樣子和格式的屬性的集合。乙個樣式可以指定的屬性有高,內邊距,字型顏色大小,背景色及更多。

樣式定義在乙個不同於布局(layout)檔案的xml資源檔案中。

安卓中的樣式和網頁設計的層疊樣式表(css)是相同的設計思想-允許將設計從內容分離出來。

例如,用乙個樣式,你可以用下面這個布局xml:

轉化為

創造一組樣式,儲存成xml檔案放在你工程的res/values/目錄下。檔名稱任意,但是必須用.xml為副檔名並儲存在res/values/下。

xml檔案根節點必須是.

每乙個你想建立的樣式,在檔案中增加

在如果你想繼承你自己定義的樣式,你不必用「parent」屬性。只要新樣式的名稱和你要繼承的樣式字首名一樣,用句號分割。

例如,在下面定義乙個新樣式繼承自codefont,讓顏色設定為紅色,你可以創作新樣式像這樣:

注意在樣式屬性

現在你知道了怎樣定義乙個樣式,你需要學習什麼種類的樣式屬性可以定義在中。你也許已經熟悉了一些,像layout_width和textcolor。

當然,有更多的屬性你可以使用。

找到引用於乙個指定view屬性的最好地方是相應類的文件,名單中列出了所有支援的xml屬性。

例如,在textview xml屬性表中列出的所有屬性可以用在給textview定義屬性的樣式中(或者子類)。

在文件中有乙個屬性是 android:inputtype,所以你可以將android:inputtype屬性放在 元素中,像這樣:

你可以給edittext元素建立乙個樣式包括這個屬性:

所以你的xml布局可以實現這個樣式:

這個簡單的例子看起來要做很多任務作,但是當你增加更多樣式屬性和因子並且在各個地方可以復用,收益是巨大的。

所有可以使用的樣式屬性,看r.attr文件。記住,所有的view物件都不能支援所有樣式屬性,所以你應該給view提供它支援的樣式屬性。

然而,如果view不支援它樣式的所有屬性,view將僅應用它支援的屬性忽略其他。

當你給布局中乙個單獨的view設定乙個樣式,樣式中的屬性只是給這個view用的。如果乙個樣式是用於viewgroup的,

子view不會繼承樣式屬性--只有你指定的元素才會應用他的屬性。不管怎樣,你可以在主題中引用乙個樣式以便用於每個view元素。

給乙個view應用樣式

這裡告訴你在xml布局中如何給view設定樣式:

現在這個textview將根據codefont名稱被設定樣式。

或者如果你想讓背景變成透明的,用透明主題:

#b0b0ff

(注意這兒顏色作為乙個特殊的資源需要提供因為android:windowbackground屬性僅僅支援資源的引用而不能給乙個顏色值,不像 android:colorbackground)

現在在安卓配置檔案中用customtheme替代theme.light:

根據平台版本選擇主題

標準屬性的列表你可以在r.styleable.theme中找到並在主題中使用。

更多資訊關於提供的可變資源,就像主題和布局,基於平台版本或者其他裝置屬性,參見提供資源(providing resources)文件。

r.style引用,沒有很好的記錄和透徹描述樣式,所以檢視這些樣式實際的原始碼能給你更好的理解樣式提供的每個屬性。

關於安卓樣式和主題更好的參考,看以下原始碼:

*android styles (styles.xml)

*android themes (themes.xml)

這些檔案幫助你通過例子學習。例如,在安卓主題原始碼中,你將會找到乙個宣告

在這個定義中,你將會看到安卓框架使用的對話方塊樣式的所有屬性。

更多關於在xml中樣式和主題的語法,參看樣式資源(style resource)文件。

樣式和主題

這裡來回顧一下樣式和主題 針對應用中所有activity或者針對某個activity設定樣式,可以通過編輯androidmanifest.xml來完成。1.設定應用中所有activity活動的主題 2.設定某個指定的activity主題 另外,android提供了許多自帶的主題樣式。例如theme....

Android 樣式和主題

android樣式定義在res values styles.xml中 在layout中引用 在android中樣式也可以繼承。當定義的樣式需要繼承其他樣式,如樣式text content要繼承text的樣式,可以這樣寫 在layout中引用 也可以這樣寫 在layout中引用 樣式是定義在具體元件上...

修改主題和樣式

修改主題和樣式 基於nodejs,1 修改主題 先確定要修改的標籤屬於哪個型別,比如button屬於elements,於是在semantic下的src目錄下的theme.config檔案中,將要修改的內容的相應主題改為目標主題,主題在semantic的官網上面可以看到,同時,修改時,要在src下的t...