Android中文翻譯 - Styles and themes (樣式和主題)

來源:互聯網
上載者:User

標籤:des   android   style   blog   http   color   io   os   ar   

本文翻譯自:https://developer.android.com/guide/topics/ui/themes.html

Style和theme詞彙是專用術語,下文直接使用而不翻譯。

 

樣式和主題(Styles and Themes)

一個樣式(Style)是一個包含了指定樣子和格式的作用於視圖控制項(View)或者表單(Window)屬性集合。一個style可以指定很多屬性,比如 高度,填充,字型顏色,字型尺寸,背景色等。一個Style在xml資源檔中定義,並且和在xml中指定的布局區分開來。

 

在Android裡的樣式和Web設計中的CSS共用一個相似的原理,它們允許你分離設計(Design)和內容(Content).

 

舉個例子,通過使用一個style,你可以讓你的布局xml像下面這樣:

 

<TextView    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:textColor="#00FF00"    android:typeface="monospace"    android:text="@string/hello" />

並且,可以變成下面這樣:

<TextView    style="@style/CodeFont"    android:text="@string/hello" />

所有關聯到style的屬性已經在布局xml中被刪除了,並且放在一個叫做“CodeFont”style中定義了。它通過一個style屬性被應用上。在下面的章節,你將會看到如何定義style。

 

一個主題(Theme)也是一個style,它被應用在所有的Activity或者application上,而不是個別的視圖控制項(View)(像上面的樣本一樣)。當一個style被當做一個theme來應用,每一個activity或者application中的視圖控制項將應用每一個它支援的樣式屬性。比如,你可以在activity上使用相同的CodeFont樣式作為一個theme,這時Activity裡的所有內部字型將會變成CodeFont樣式的字型樣式變成綠色的等寬字型。

 

定義一個樣式Style

為了建立一些樣式,你可以儲存在你的工程下的 res/Values/ 檔案夾下的一個XML檔案中。XML檔案的名字是隨意的,但是必須副檔名是 .xml 並且存放在 res/Values/ 檔案夾下。

 

XML檔案的根節點必須是<resources>

 

為你建立的每個樣式,添加一個<style>元素,並且需要一個name  屬性,它標識唯一性而且是必需的屬性。再為你的樣式屬性都添加進去,通過添加<item>元素來做,使用一個在樣式屬性裡聲明的name屬性和一個value屬性,這兩個都是必需的。<item>的value屬性可以是一個關鍵字字串,一個16進位的顏色描述,一個其他資源類型的引用,或者在其他樣式屬性中依賴的value。下面是一個簡單的樣本樣式檔案內容:

<?xml version="1.0" encoding="utf-8"?><resources>    <style name="CodeFont" parent="@android:style/TextAppearance.Medium">        <item name="android:layout_width">fill_parent</item>        <item name="android:layout_height">wrap_content</item>        <item name="android:textColor">#00FF00</item>        <item name="android:typeface">monospace</item>    </style></resources>

每一個<resources>元素的子節點在編譯時間都被轉換成一個程式資來源物件。它可以通過<style>元素的name屬性的值(value)來被引用引用。這個樣本樣式可以在XML布局中被引用,比如“@style/CodeFont”(像上面介紹的樣本一樣)。

 

在<style>元素中的parent屬性是可選的並且指向一個其他樣式中的資源ID,它可以從這個樣式中繼承一些屬性。合適的話,你可以重寫(override)繼承到的屬性。

 

記住,一個你想在activity或者application中使用的樣式都被在XML檔案中定義,並且所有的視圖控制項具有相同的樣式。一個樣式,比如上面定義的那個,可以被作為一style應用的單一的視圖控制項上或者被作為一個theme應用在全部的activity或者application上。如何應用的單一的視圖或者作為應用的主題,我們稍後討論。

 

Android中文翻譯 - Styles and themes (樣式和主題)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.