在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

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

Android樣式和主題

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

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

<?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>

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

定義樣式

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

可以定義每個文件中使用的多種樣式<style>標簽,但要使用唯一的名稱來標識此樣式。 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>里邊的值可以是一個關鍵字串,十六進制的顏色,參考到另一個資源類型,或其他的值取決于樣式屬性。

使用樣式

樣式定義之后,就可以用它在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>

要理解這個概念涉及到Android 的樣式,可以檢查 樣式實例

樣式繼承

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

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

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

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

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

繼承這種技術通過鏈接在一起的名字僅適用于自己的資源定義的樣式。不能繼承:Android內(nèi)置樣式的這種方式。要引用一個Android內(nèi)置風格,如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 主題

希望能夠理解樣式的概念,現(xiàn)在讓我們?nèi)チ私馐裁词侵黝}。主題是什么,主題只不過是要Android應用到整個活動或應用程序中統(tǒng)一樣式,而不是一個單獨的視圖樣式。

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

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

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

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

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

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

<style