日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android5.0新特性:主题样式

發布時間:2025/4/16 Android 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android5.0新特性:主题样式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. Theme主題

通常來說,可以直接使用系統定義好的Style/Theme,畢竟,系統為我們提供了豐富地選擇。當然,你也可以自定義Theme,前提是該Theme必須繼承與某個已經存在地Theme,否則編譯器會提示錯誤的(這個錯誤目前好像不會出現,不過還是加上的好,如果我們不需要任何父樣式,可以繼承@android:style/Theme,這是所有Theme的父類)。

定義Theme,在資源文件的value目錄下創建<style>XML,該文件中定義的style屬性可以用于Application,Activity和View,只是Application和Activity需要在節點下使用theme引用。

<!--自定義Theme 必須制定parent屬性--> <style name="mystyle" parent="@android:style/Theme"><item name="android:windowNoTitle">true</item>//是否有標題<item name="android:windowFrame">@drawable/icon</item>//前景<item name="android:windowBackground">@drawable/icon</item>//背景<item name="android:windowIsTranslucent">true</item>//是否透明<item name="android:windowContentOverlay">true</item>//是否有陰影遮蓋,對話框效果<item name="android:windowIsFloating">true</item>//是否懸浮<item name="android:backgroundDimEnabled">true</item>//設置是否背景模糊<item name="android:windowFullscreen">true</item>//全屏<item name="android:windowShowWallpaper">true</item>//是否以桌面背景顯示<item name="windowTitleSize">25dip</item> //設置標題大小<item name="windowTitleBackgroundStyle">@android:style/WindowTitleBackground</item> //窗口標題背景<item name="android:windowAnimationStyle">@android:style/Animation.Activity</item> //窗口動畫<item name="android:windowSoftInputMode">stateUnspecified|adjustUnspecified</item> //鍵盤模式 </style>

主題的設置有兩種,可以通過在清單文件在相應的Activity或者Application下通過theme節點指定,也可以在代碼中通過setTheme指定。

需要注意的是,在代碼中指定,需要在setContentView之前,因為setContentView會調用window的setContentView,該方法會導致DecorView的創建,之后會判斷是否設定樣式,如果沒設定樣式,會選取一個默認的樣式,設置后就采用該樣式,我們設置的contentView就會被添加到DecorView中,且樣式不能再改變,如果此時視圖修改樣式,將會拋出異常

2. Material Design

2.1 Material Design簡介

Material Design是谷歌新的設計語言,谷歌希望寄由此來統一各種平臺上的用戶體驗,Material Design的特點是干凈的排版和簡單的布局,以此來突出內容。

Material Design對排版、材質、配色、光效、間距、文字大小、交互方式、動畫軌跡都做出了建議,以幫助設計者設計出符合Material Design風格的應用。

更多詳情請見Material Design文檔:

  • 中文版網站

  • 英文版網站

2.2 Material Design使用

作為我們開發者,最關心的還是如何在項目中使用Material Design風格:

  • 設置應用的 targetSdkVersion 和 targetSdkVersion 為21
  • 在values目錄下的style資源文件中創建一個style,讓其繼承自 android:Theme.Material
  • 在AndroidManifest中指定應用的主題或者Activity的主題為我們設定的樣式

谷歌官方我們提供了三種配色風格的Material Design樣式:

  • 黑色主題 Theme.Material
  • 明亮主題 Theme.Material.Light
  • 明亮主題黑色ActionBar Theme.Material.Light.DarkActionBar

我們也可以繼承系統提供的Material Design樣式,進行配色修改:

  • android:colorPrimaryDark應用的主要暗色調,statusBarColor默認使用該顏色
  • android:statusBarColor狀態欄顏色,默認使用colorPrimaryDark
  • android:colorPrimary應用的主要色調,actionBar默認使用該顏色
  • android:windowBackground窗口背景顏色
  • android:navigationBarColor底部欄顏色
  • android:colorForeground應用的前景色,ListView的分割線,switch滑動區默認使用該顏色
  • android:colorBackground應用的背景色,popMenu的背景默認使用該顏色
  • android:colorAccent 一般控件的選種效果默認采用該顏色
  • android:colorControlNormal 控件的默認色調 
  • android:colorControlHighlight控件按壓時的色調
  • android:colorControlActivated控件選中時的顏色,默認使用colorAccent
  • android:colorButtonNormal默認按鈕的背景顏色
  • android:textColor Button,textView的文字顏色
  • android:textColorPrimaryDisableOnly RadioButton checkbox等控件的文字
  • android:textColorPrimary 應用的主要文字顏色,actionBar的標題文字默認使用該顏色

主題不僅可以對Application和Activity使用,也可以對某一個控件單使用,或者是在xml布局中給一個根節點控件設置android:theme屬性,來修改它和它所有子控件的主題。
如果我們要對特定控件實例做自定義修改,更建議大家可以通過控件自身的API進行設置修改。

2.3 Material Design兼容性

Material Design主題只有在API級別為21以上才可使用,在v7支持庫中提供了部分控件的Material Design主題樣式,如果想使應用在android的所有版本上都能統一風格,我們可以對控件效果做自定義或者使用一些第三方的兼容包。目前最有效的做法是針對21版本創建value-21資源目錄,使用Material Design風格主題,在其他版本使用v7的Theme.AppCompat.Light風格主題。

總結

以上是生活随笔為你收集整理的Android5.0新特性:主题样式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。