安卓主題和風格

根據網絡上的說法,安卓UI發生兩次大的改動。一次是android 3.0發佈,UI開發支持了Fragment,主要增長了大屏幕顯示的支持,這個版本就開始支持Holo Theme,因爲android 3.X的設備佔有率也不高,這一次的改變沒有引發大的關注;再一次的改變就是Android 4.0,也就是一般所說的ICS(Ice Cream Sandwich),這個於2011年末發佈的Android系統,同時也發佈了指導性的應用設計規範《Android Design》有了設計規範的指導,就有了更多應用採用了Holo Theme,尤爲國外的應用。Holo Theme的主要特色是輕快的顏色、適當的陰影、卡片化佈局、方角矩形。html

 

主題和風格的自定義都放在res/values/styles.xml文件中。xml文件部分以下:android

<resources xmlns:android="http://schemas.android.com/apk/res/android">web

    <--主題-->網絡

    <style name="AppBaseTheme" parent="android:Theme.Light">app

</style>佈局

<--風格-->字體

    <style name="progress_wait" parent="@android :style/Widget.ProgressBar.Horizontal">this

        <item name="android:indeterminateOnly">true</item>spa

        <item name="android:indeterminateDrawable">@anim/progress_wait</item>.net

    </style>

</resource>

一 主題(Theme)

A theme is a style applied to an entire Activity or application, rather than an individual View. 最簡單淺顯的比喻就是,你在使用Android Studio的時候,有好幾個主題能夠選,其中一個是Windows,一個是Intellij,調整後整個界面的主題就變了。這裏的主題,相似於安卓裏面的主題。

例如,在用Eclipse新建安卓工程的時候,主題選項以下圖,目前安卓的風格也就以下幾種:

圖一 Eclipse新建工程師供選擇的主題

主題效果以下(圖片來自網絡),從左到有的效果,分別是:Dark,Light,Light with Dark Action Bar:

圖二 各類風格效果圖

主題放置的位置在<application>標籤或者是<activity>標籤,如:

<application android:theme="@style/AppTheme"></application>

<activity android:theme="@style/AppTheme"></activity>

 

二 風格(Style)

參見官方文檔。鄙人稍做翻譯。

style is a collection of properties that specify the look and format for a View or window. A style can specify properties such as height, padding, font color, font size, background color, and much more. A style is defined in an XML resource that is separate from the XML that specifies the layout.

風格就是用於指定視圖或窗口的風格和格式的集合。風格能夠指定的屬性有以下,但不限於如下,高度,內間距,字體顏色,字體大小,背景色,等等。一組風格定義在xml文件中,不一樣於用於佈局的xml文件。

Styles in Android share a similar philosophy to cascading stylesheets in web design—they allow you to separate the design from the content.

安卓中的風格相似於CSS的共用思想:設計和內容分離。

For example, by using a style, you can take this layout XML:(你能夠經過以下方式使用風格)

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

And turn it into this:(也能夠轉變成以下)

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

All of the attributes related to style have been removed from the layout XML and put into a style definition called CodeFont, which is then applied with the style attribute.

全部與風格相關的屬性所有從佈局文件中移除,定義到風格資源文件寫,並冠名CodeFont,這就是咱們稍後要應用到的風格屬性。

相關文章
相關標籤/搜索