Android中Style和Theme資源
Style和Theme主要是用於對Android應用進行美化設計,最佳化互動頁面,充分利用各種樣式和主題資源,可以開發出各種風格的Android應用
-
Style
當我們需要面對大量的元件指定相似格式,例如:字型,顏色,背景顏色等等,要是我們每次都選擇為View元件重複指定這些屬性,無疑會造成工作量的劇增,而且不理由程式碼維護性和可視性。
類似於Word和PPT的管理格式:一個樣式等於一組格式的集合,如果設定某段文字使用某個樣式,那麼該樣式的所有格式會整體被應用於該文字。一個樣式相對於多個格式的集合,其他UI元件透過style屬性來指定樣式,這就相當於把該樣式包含的所有格式同時應用於該UI元件
定義樣式資源:
<?xml version="1.0" encoding="UTF-8"?> <resources> <style name="style1"> <item name="android:textSize">11sp</item> <item name="android:textColor">#32d</item> </style> <style name="style2" parent="@style/style1"> <item name="android:background">#116</item> <item name="android:padding">26dp</item> <item name="android:textColor">#005</item> </style> </resources>
然後在佈局頁面中使用:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/style1" style="@style/style1"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/style2" style="@style/style2"/> </LinearLayout>
-
Theme
和樣式資源很相似,主題資源的XML也放在和樣式資源一起的目錄下
但是主題資源和樣式資源還真就有這區別:主題不能作用於單個View元件,主體應該對整個應用中的所有Activity起作用,或者對指定的Acitivity起作用。主題定義的格式應該是改變視窗外觀的格式,例如視窗標題,視窗邊框這些等
定義主題資源:
<style name="CrazyTheme"> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> <item name="android:windowFrame">@drawable/window_border</item> <item name="android:windowBackground">@drawable/star</item> </style>
在Android程式碼中寫入:
public vod onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTheme(R.style.CrazyTheme); setContentView(R.layout.main); }
最後在AndroidManifest.xml中新增theme即可
<application android:theme="@style/CrazyitTheme"> ....
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2695844/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android中的Style、Theme詳解以及發展史Android
- 看完後徹底搞清楚Android中的 Attr 、 Style 、ThemeAndroid
- Android之android:theme設定在Application 和 Activity的區別AndroidAPP
- Android之主題(Theme)總結Android
- vue中style下scope的使用和坑Vue
- Android TextView 富文字之 android.text.style.xxxSpanAndroidTextView
- class 和 style 資料動態繫結
- [npm資源] naming-style,快速轉換各種命名風格NPM
- Android Studio通過style和layer-list實現自定義進度條Android
- Android進階(十)資源和Service的外掛化Android
- html中list-style-type與list-style的區別HTML
- Android最全開發資源Android
- Android中使用Drawbl資源Android
- CSS列表中list-style-position inside 和outside 的區別?CSSIDE
- WPF style BasedOn base style
- SAP Corbu Theme 在瀏覽器和 SAPGUI 應用中的使用場景ORB瀏覽器GUI
- Android資源訪問機制Android
- 收藏的Android學習資源Android
- 6、Flutter Widget(IOS Style) - CupertinoSlider和CupertinoSwitch;FlutteriOSIDE
- Android中asset資料夾和raw資料夾區別Android
- AntBlazor Theme in ABP FrameworkBlazorFramework
- Android 資源載入機制剖析Android
- Android系統“資源排程框架”Android框架
- 繫結class樣式和style樣式
- vue-class和style樣式繫結Vue
- WPF Material Design中資源的查詢和使用Material Design
- Spark中資源排程和任務排程Spark
- Html5 canvas中width、height和style的寬高區別詳解HTMLCanvas
- Android RecyclerView中Adapter和ViewHoAndroidViewAPT
- Android 資源限定符命名規則Android
- Element theme-chalk 分析
- Install Papirus Icon Theme on UbuntuAPIUbuntu
- [論文速覽] Separating Style and Content for Generalized Style TransferZed
- [Javascript] Refactor blocking style code to stream style for fetching the stream dataJavaScriptBloC
- Flutter Theme應用主題共享顏色和字型樣式Flutter
- CSS中 offsetLeft 與style.left 的區別CSS
- Open Office XML 格式中的 Style 設計原理XML
- Wpf ComboBox style