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 的 Theme 和 StyleAndroid
- Android中的Style、Theme詳解以及發展史Android
- 看完後徹底搞清楚Android中的 Attr 、 Style 、ThemeAndroid
- Android利用Theme和Style解決APP啟動閃黑屏問題AndroidAPP
- 跨系統 theme 呼叫私有的 style v1
- Android中 @和?區別以及?attr/**與@style/**等的區別Android
- Android之android:theme設定在Application 和 Activity的區別AndroidAPP
- Android中MotionEvent的來源和ViewRootImplAndroidView
- vue中style下scope的使用和坑Vue
- Android之主題(Theme)總結Android
- 【QMUI教程】 Android Theme的使用UIAndroid
- class 和 style 資料動態繫結
- ArcEngine中載入和讀取Style檔案
- 清除Android工程中沒用到的資源Android
- Android中的資源與國際化!Android
- js中style,currentStyle和getComputedStyle的區別JS
- js 中style.height和offsetHeight比較JS
- android中drawable資源的解釋及例子Android
- ArcGIS API for JS 中的styleAPIJS
- Android 資源大全Android
- html中list-style-type與list-style的區別HTML
- Android 5.x Theme 與 ToolBar 實戰Android
- [npm資源] naming-style,快速轉換各種命名風格NPM
- Android Theme.AppCompat 中,你應該熟悉的顏色屬性AndroidAPP
- Android樣式的開發:Style篇Android
- Android設定Activity背景為透明styleAndroid
- Android應用資源Android
- android資源下載Android
- Transform-style和Perspective屬性ORM
- Android進階(十)資源和Service的外掛化Android
- SAP Corbu Theme 在瀏覽器和 SAPGUI 應用中的使用場景ORB瀏覽器GUI
- vue中慎用style的scoped屬性Vue
- Android中使用Drawbl資源Android
- Android最全開發資源Android
- android開源專案和框架Android框架
- Android Studio通過style和layer-list實現自定義進度條Android
- CSS列表中list-style-position inside 和outside 的區別?CSSIDE