• 鍍金池/ 教程/ Android/ Android樣式和主題
    Android 應用組件
    使用布局文件自定義Android組件
    Android通知
    Android主題示例
    Android JetPlayer實(shí)例
    Android MediaPlayer(多媒體播放)
    Android AbsoluteLayout
    Android FrameLayout
    Android Gestures/手勢
    Android AutoCompleteTextView(自動(dòng)完成)實(shí)例
    Android 資源組織和訪(fǎng)問(wèn)
    Android ListView
    Android GridView
    Android數據備份
    Android撥打電話(huà)
    Android發(fā)送短信/SMS
    Android ProgressDialog
    SimpleCursorAdapter
    Android發(fā)送電子郵件
    Android Activity
    Android TextView
    Android事件處理
    Android TableLayout
    Android加載Spinner
    Android內容提供者
    Android自定義字體
    Android Service
    Android CheckBox
    Android Intent過(guò)濾器
    Android LinearLayout
    Android登錄實(shí)例
    Android RadioButton
    Android樣式和主題
    Android自定義組件及屬性
    Android UI控件
    Android Animation(動(dòng)畫(huà))實(shí)例
    Android Camera(攝像頭)
    Android ToggleButton
    Android Clipboard(復制/剪貼板)
    Android音頻捕獲(錄音)
    發(fā)布Android應用
    Android Alertdialog(警告對話(huà)框)
    Android圖片效果
    Android內部存儲
    Android基于位置服務(wù)
    Android RadioGroup
    Android AutoCompleteTextView
    Android Bluetooth(藍牙)實(shí)例
    Android RelativeLayout
    Android最佳實(shí)踐
    Android本地化
    Android自定義組件
    Android教程
    Android 架構
    Android UI布局
    Android Button
    Android Hello World示例
    Android音頻管理器實(shí)例
    ArrayAdapter
    Android拖放
    Android碎片/片段
    Android圖片切換
    Android JSON解析器
    Android開(kāi)發(fā)環(huán)境搭建
    Android Spinner
    Android樣式示例
    使用活動(dòng)代碼自定義Android組件
    Android ImageButton
    Android EditText
    Android廣播接收器

    Android樣式和主題

    如果已經(jīng)熟悉在網(wǎng)頁(yè)設計中的層疊樣式表(CSS),了解Android樣式也是非常相似。每個(gè) Android 窗口小部件,可以設置更改應用程序外觀(guān)風(fēng)格相關(guān)的屬性。樣式可以指定屬性,如高度,填充,字體顏色,字體大小,背景顏色以及其它。

    可以指定這些屬性在布局文件如下:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:orientation="vertical" >
    
       <TextView
       android:id="@+id/text_id"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:capitalize="characters"
       android:textColor="#00FF00"
       android:typeface="monospace"
       android:text="@string/hello_world" />
    
    </LinearLayout>

    不過(guò)這樣一來(lái),我們需要定義的樣式屬性,每個(gè)屬性分別用于源代碼維護的角度來(lái)看這是非常不好的。因此,樣式定義應該放在單獨的文件,如下解釋。

    定義樣式

    樣式可以定義在一個(gè)單獨的XML指定布局的XML資源文件。此XML文件位于 res/values/ 項目目錄,強制性的樣式文件中<resources>作為根節點(diǎn),XML文件名稱(chēng)是任意,但它必須使用.xml擴展名。

    可以定義每個(gè)文件中使用的多種樣式<style>標簽,但要使用唯一的名稱(chēng)來(lái)標識此樣式。 Android 樣式屬性設置使用的<item>標簽,如下圖所示:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
       <style name="CustomFontStyle">
          <item name="android:layout_width">fill_parent</item>
          <item name="android:layout_height">wrap_content</item>
          <item name="android:capitalize">characters</item>
          <item name="android:typeface">monospace</item>
          <item name="android:textSize">12pt</item>
          <item name="android:textColor">#00FF00</item>/> 
       </style>
    </resources>
    這里<item>里邊的值可以是一個(gè)關(guān)鍵字串,十六進(jìn)制的顏色,參考到另一個(gè)資源類(lèi)型,或其他的值取決于樣式屬性。

    使用樣式

    樣式定義之后,就可以用它在XML布局文件使用樣式屬性,如下所示:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:orientation="vertical" >
    
       <TextView
       android:id="@+id/text_id"
       style="@style/CustomFontStyle"
       android:text="@string/hello_world" />
    
    </LinearLayout>

    要理解這個(gè)概念涉及到Android 的樣式,可以檢查 樣式實(shí)例。

    樣式繼承

    Android支持級聯(lián)樣式表在網(wǎng)頁(yè)設計風(fēng)格非常類(lèi)似繼承這種方式??梢允褂眠@個(gè)繼承現有的樣式屬性,然后定義想要更改或添加屬性。

    其操作簡(jiǎn)單,創(chuàng )建一個(gè)新的的樣式繼承LargeFont上述CustomFontStyle風(fēng)格定義,但字體的大小變大,可以編寫(xiě)這樣的新的樣式:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
       <style name="CustomFontStyle.LargeFont">
          <item name="android:textSize">20ps</item>
       </style>
    </resources>

    @style/CustomFontStyle.LargeFont 的XML布局文件,可以參考這個(gè)新的樣式??梢岳^續秉承這樣多次,只要愿意,周期通過(guò)鏈接名稱(chēng)。例如,可以擴展FontStyle.LargeFont的是紅色的,如下:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
       <style name="CustomFontStyle.LargeFont.Red">
          <item name="android:textColor">#FF0000</item>/> 
       </style>
    </resources>

    繼承這種技術(shù)通過(guò)鏈接在一起的名字僅適用于自己的資源定義的樣式。不能繼承:Android內置樣式的這種方式。要引用一個(gè)Android內置風(fēng)格,如TextAppearance,必須使用父屬性,如下所示:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
       <style name="CustomFontStyle" parent="@android:style/TextAppearance">
          <item name="android:layout_width">fill_parent</item>
          <item name="android:layout_height">wrap_content</item>
          <item name="android:capitalize">characters</item>
          <item name="android:typeface">monospace</item>
          <item name="android:textSize">12pt</item>
          <item name="android:textColor">#00FF00</item>/> 
       </style>
    </resources>

    Android 主題

    希望能夠理解樣式的概念,現在讓我們去了解什么是主題。主題是什么,主題只不過(guò)是要Android應用到整個(gè)活動(dòng)或應用程序中統一樣式,而不是一個(gè)單獨的視圖樣式。

    因此,當一個(gè)樣式應用為主題,將適用于每一個(gè)活動(dòng)或應用程序視圖它支持每個(gè)樣式屬性。例如,可以應用一個(gè)主題Activity 活動(dòng)的的同一CustomFontStyle風(fēng)格,然后內部的所有文本,活動(dòng)都會(huì )有綠色環(huán)保等寬字體。

    要設置應用程序的所有活動(dòng)的主題,打開(kāi)AndroidManifest.xml文件,編輯<application>標簽包含了android:theme 屬性的風(fēng)格名稱(chēng)。例如:

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

    但是,如果想有一個(gè)主題,只是在應用程序的一個(gè)Activity 活動(dòng),然后添加android:theme屬性到<activity>標簽。例如: 

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

    有一些由Android定義的默認主題,可以直接使用或繼承父屬性如下:

    <style
                
            
    草莓视频在线观看视频6_免费草莓视频_草莓视频在线下载免费官网_草莓视频黄色在线观看