導航:首頁 > 軟體知識 > 如何將主題應用到程序

如何將主題應用到程序

發布時間:2022-12-17 21:12:39

『壹』 如何在 Android 應用程序中使用自定義主題

Android 應用程序中使用自定義主題的方法:

1、新建一個項目 Lesson32_StyleAndTheme。

2、拷貝下面三張 Nine-Patch PNG圖片到res/drawable目錄下:

『貳』 如何在 Android 應用程序中使用自定義主題

該指南介紹了Android的holo主題,並提供了一個既有現代感又獨特的用戶體驗。從今年的谷歌開發者大會談論的「 成功的Android設計」上,我們得到了一些重要的心得:
對於這篇文章,我假設你已經有「成功設計」的部分,所以讓我們走進更高一層的「應用涅槃」。更具體地說,我將描述一些有用的模式應用到你的應用程序中,讓你的應用更具品牌化。
簡單樣式 在Android中,定義外觀最簡單的方式是直接設置屬性在視圖對象上。由於要對整個應用程序設置樣式,這種方法就顯得不是很方便了。因此,我們可以創建樣式來綁定視圖屬性。但要注意的是,樣式只能設置在xml里。這意味著,我們在創建/載入視圖的時候,只能一次設置一個樣式。下面是如何在res/values/styles.xml文件中給TextView設置屬性的示例。
<style name="CustomText" parent="@android :style/TextAppearance.Medium"> <item name="android:textSize">20sp</item> <item name="android:textColor">#008</item> </style> 我們引用@style/CustomText樣式應用在我們的layout.xml文件中。該樣式引用了一個父樣式 @android:style/TextAppearance.Medium。由於開始樣式引自android: 命名空間,那麼我們這個樣式默認也隨android平台。
創建主題綁定樣式 假設我們要改變我們所有TextView的文字大小和顏色,並且不需要明確設置每一個TextView。這是一個非常常見的情況,幸運的是,Android提供了一個非常強大的主題機制。從本質上講,主題就是樣式資源本身,使用「key」指向具體的樣式。一個視圖對象基於這個key可以查看到具體的樣式。下面是一個簡單的例子,在res/values/themes.xml文件:
<style name="Theme.MyApp" parent="@android :style/Theme.Holo"> <item name="android:textAppearance">@style/CustomText</item> </style> 如上所述,主題是樣式資源本身,所以我們聲明一個Theme.App繼承自Android平台提供的holo主題。我們將我們的CustomText樣式指定到android:textAppearance屬性。屬性就是一個預定義的「變數」,它可以被其他資源元素引用。事實上,它也可以創建自定義屬性在res/values/attr.xml文件。
現在有趣的事情來了。我們的主題Theme.MyApp不僅可以通過AndroidManifest.xml的設置應用到Activity上,它也可以在運行時在代碼中設置。你將不得不重新啟動當前Activity(或使用ContextWrapper應用UI的主題部分),但它使主題更加動態。
final Resources.Theme theme = context.getTheme(); TypedArray a = theme.obtainStyledAttributes(attrs, com.android.internal.R.styleable.TextViewAppearance, defStyle, 0); int ap = a.getResourceId(com.android.internal.R.styleable.TextViewAppearance_textAppearance, -1); TypedArray appearance = theme.obtainStyledAttributes(ap, com.android.internal.R.styleable.TextAppearance); textColor = appearance.getColorStateList(attr); 該代碼片段顯示了文本的顏色是如何從當前主題的TextAppearance屬性提取出來的。通過閱讀這段初始化代碼,我們通常可以知道什麼樣的元素可以被配置。
我們必須意識到,雖然不同的Android版本應用不同的屬性,但Android高版本通常支持低版本的屬性,新屬性顯然不被低版本識別。我希望我們會很快得到更新檢查,這樣就能引用Android新版本推出的主題屬性。
總結 Android4.0的主題變得更加強大了,98%屬性你可以通過代碼設置,並且現在可以在主題化之前設置樣式。使用自定義主題時,除了有更大的視覺靈活性,你還可以減少在XML布局和Java代碼中的混亂,完全可以投入到應用程序的邏輯。

『叄』 如何在 Android 應用程序中使用自定義主題

在Android中,定義外觀最簡單的方式是直接設置屬性在視圖對象上。由於要對整個應用程序設置樣式,這種方法就顯得不是很方便了。因此,我們可以創建 樣式來綁定視圖屬性。但要注意的是,樣式只能設置在xml里。這意味著,我們在創建/載入視圖的時候,只能一次設置一個樣式。下面是如何在res /values/styles.xml文件中給TextView設置屬性的示例。 <style name="CustomText" parent="<a href="http" target="_blank" rel="nofollow">@android</a> :style/TextAppearance.Medium"> <item name="android:textSize">20sp</item> <item name="android:textColor">#008</item> </style> 我們引用@style/CustomText樣式應用在我們的layout.xml文件中。該樣式引用了一個父樣式 @android:style/TextAppearance.Medium。由於開始樣式引自android: 命名空間,那麼我們這個樣式默認也隨android平台。 創建主題綁定樣式 假設我們要改變我們所有TextView的文字大小和顏色,並且不需要明確設置每一個TextView。這是一個非常常見的情況,幸運的 是,Android提供了一個非常強大的主題機制。從本質上講,主題就是樣式資源本身,使用「key」指向具體的樣式。一個視圖對象基於這個key可以查 看到具體的樣式。下面是一個簡單的例子,在res/values/themes.xml文件: <style name="Theme.MyApp" parent="<a href="http" target="_blank" rel="nofollow">@android</a> :style/Theme.Holo"> <item name="android:textAppearance">@style/CustomText</item> </style> 如上所述,主題是樣式資源本身,所以我們聲明一個Theme.App繼承自Android平台提供的holo主題。我們將我們的CustomText樣式 指定到android:textAppearance屬性。屬性就是一個預定義的「變數」,它可以被其他資源元素引用。事實上,它也可以創建自定義屬性在 res/values/attr.xml文件。 現在有趣的事情來了。我們的主題Theme.MyApp不僅可以通過AndroidManifest.xml的設置應用到Activity上,它也可以在 運行時在代碼中設置。你將不得不重新啟動當前Activity(或使用ContextWrapper應用UI的主題部分),但它使主題更加動態。

閱讀全文

與如何將主題應用到程序相關的資料

熱點內容
銀杏的產品都有什麼 瀏覽:819
汽車辦牌照程序怎麼走 瀏覽:829
聯通4g數據網速慢怎麼辦 瀏覽:76
怎麼當哈狗的代理 瀏覽:519
如何查看一列數據有多少是一致的 瀏覽:660
查機動車信息備案是什麼意思 瀏覽:639
專業技術人員保留工資怎麼計算 瀏覽:92
信息不顯示如何解決 瀏覽:946
西安市南二環人才市場處於哪個區 瀏覽:930
代理商需要怎麼管理 瀏覽:857
圖表中的數據標簽如何顯示萬元 瀏覽:634
餐飲市場為什麼沒出現巨頭 瀏覽:150
回收農產品的平台有哪些 瀏覽:517
拼多多產品駁回怎麼辦 瀏覽:310
舟山水產干品交易區怎麼樣 瀏覽:357
高安貨車提檔二手交易稅是多少 瀏覽:114
農民工去菜市場買什麼下酒菜 瀏覽:288
濟南黃岡衛浴市場在哪個位置 瀏覽:835
資料庫坐標怎麼做 瀏覽:274
怎麼樣開發電商產品 瀏覽:664