1. 程式人生 > >Android學習之主題樣式開發詳解

Android學習之主題樣式開發詳解

本文和大家分享的主要是android開發主題樣式相關內容,一起來看看吧,希望對大家學習和使用這部分內容有所幫助。
  app如何設定主題
  1. 在res/values/styles.xml檔案中新增程式碼:




  2. 在res/values-v11/styles.xml和res/values-v14/styles.xml檔案中新增程式碼:



  1. 在AndroidManifest.xml設定
  application標籤中的@style/AppTheme引用自哪個資料夾中的styles.xml,這是根據執行此程式的手機系統來決定的,如果手機系統的API版本是11以上就是v11/styles.xml,API版本是14以上就是v14/styles.xml,以此類推。我們可以通過修改AppBaseTheme的父主題來實現我們需要的樣式,此文章主要就是來討論這個主題如何修改。
  主題的來源
  · Android系統自帶的
  · 來自相容包的(比如v7相容包)
  · 自定義的主題
  使用android系統中自帶的主題要加上”android:”,如:android:Theme.Black
  使用v7相容包中的主題不需要字首,如:Theme.AppCompat
  主題的樣式
  系統自帶主題:
  API 1:
  android:Theme 根主題
  android:Theme.Black 背景黑色
  android:Theme.Light 背景白色
  android:Theme.Wallpaper 以桌面牆紙為背景
  android:Theme.Translucent 透明背景
  android:Theme.Panel 平板風格
  android:Theme.Dialog 對話方塊風格
  API 11:
  android:Theme.Holo Holo根主題
  android:Theme.Holo.Black Holo黑主題
  android:Theme.Holo.Light Holo白主題
  API 14:
  android:Theme.DeviceDefault 裝置預設根主題
  android:Theme.DeviceDefault.Black 裝置預設黑主題
  android:Theme.DeviceDefault.Light 裝置預設白主題
  API 21: (網上常說的 Android Material Design 就是要用這種主題)
  android:Theme.Material Material根主題
  android:Theme.Material.Light Material白主題
  相容包v7中帶的主題:
  Theme.AppCompat 相容主題的根主題
  Theme.AppCompat.Black 相容主題的黑色主題
  Theme.AppCompat.Light 相容主題的白色主題
  注意:
  1.Theme.AppCompat主題是相容主題的意思是說如果執行程式的手機API是21則就相當於是Material主題,如果執行程式的手機API是11則就相當於是Holo主題,以此類推。
  2.相容包v7會被Google公司不斷升級:
  比如 appcompat-v7-21.0 表示升級到向 API 21 相容
  比如 appcompat-v7-23.2 表示升級到向 API 23 相容
  3.所有能應用於應用程式主題都是以“Theme.”開頭
  不是以“Theme.”開頭的就不是應用程式主題,而是用於某些區域性控制元件
  比如“ThemeOverlay”主題,可用於 Toolbar 控制元件。
  比如“TextAppearance”主題,可用於設定文字外觀。
  比如在v7中有很多以“Base”開頭的主題,是一些父主題,不建議直接使用。
  報錯原因:
  · 需要提升最低API版本
  · 需要更高版本的SDK
  · 相容包版本不對
  · 需要手動指定寬高
  · 繼承錯誤
  比如窗體必須繼承AppCompactActivity,或者要繼承ActionBarActiivty,或者要繼承FragmentActivity
  更多主題:
  以下都是指“包含”,比如包含“Dialog”表示對話方塊風格
  比如Theme.Dialog、Theme.Holo.Dialog、Theme.Material.Dialog、Theme.AppCompat.Dialog都是對話方塊風格
  Black 黑色風格
  Light 光明風格
  Dark 黑暗風格
  DayNight 白晝風格
  Wallpaper 牆紙為背景
  Translucent 透明背景
  Panel 平板風格
  Dialog 對話方塊風格
  NoTitleBar 沒有TitleBar
  NoActionBar 沒有ActionBar
  Fullscreen 全屏風格
  MinWidth 對話方塊或者ActionBar的寬度根據內容變化,而不是充滿全屏
  WhenLarge 對話方塊充滿全屏
  TranslucentDecor 半透明風格
  NoDisplay 不顯示,也就是隱藏了
  WithActionBar 在舊版主題上顯示ActionBar

相關推薦

Android學習主題樣式開發

本文和大家分享的主要是android開發主題樣式相關內容,一起來看看吧,希望對大家學習和使用這部分內容有所幫助。   app如何設定主題   1. 在res/values/styles.xml檔案中新增程式碼:   2. 在

安卓開發學習014 Button應用樣式、背景、按鈕單擊、長按、雙擊、多擊事件)

一、Button簡介 按鈕也是繼承自TextView 二、XML定義方法 <Button android:id="@+id/button01" android:layout_width="w

Elasticsearch 學習配置文件

服務器 elastic 設置 .org settings filter ESS 通用 其它 Elasticsearch配置文件##################### Elasticsearch Configuration Example ################

深度學習---yolov1,v2,v3

(寫在前面:如果你想 run 起來,立馬想看看效果,那就直接跳轉到最後一張,動手實踐,看了結果再來往前看吧,開始吧······) 一、YOLOv1 簡介 這裡不再贅述,之前的我的一個 GitChat 詳盡的講述了整個程式碼段的含義,以及如何一步步的去實現它,可參照這裡手把手實踐YOLO深度殘

android 繪圖Path與Paint[轉]

/** * Paint類介紹 * * Paint即畫筆,在繪圖過程中起到了極其重要的作用,畫筆主要儲存了顏色, * 樣式等繪製資訊,指定了如何繪製文字和圖形,畫筆物件有很多設定方法, * 大體上可以分為兩類,一類與圖形繪製相關,一類與文字繪製相關。 * * * 1.圖形繪製 * setARG

Struts學習Message Resources配置

目錄 一、概述 二、用法 三、建立資源包 四、配置 五、資原始檔放在哪裡 六、Tags 七、Actions 八、國際化 九、JSTL 十、結論 一、概述        Message Resources訊息

HTML5-從0開始學習表單屬性

什麼是表單? 表單是網頁中資料採集的工具。 表單組成部分由三部分組成: (一)表單標籤<form> (二)表單域<input> (三)表單按鈕<button> 現在我們來逐步解釋這三部分。 (一)表單標籤<form>

微信JS-SDK影象介面開發

由於現在手頭的專案中有一個上傳證件照認證的功能(手機端),之前的思路是直接點選上傳,然後直接將圖片上傳到伺服器去,這篇文章有講到( http://www.cnblogs.com/it-cen/p/4535219.html ),但在微信裡開啟網頁去上傳,速度並不快,而且,假如我上傳一張2M大的圖片,也沒

機器學習決策樹演算法

1-1 基本流程 決策樹是一個有監督分類與迴歸演算法。 決策樹的生成只考慮區域性最優,相對的,決策樹剪枝則考慮全域性最優。 一、概念: 決策樹:是一種樹形結構,其中每個內部節點表示一個屬性上的判斷,每個分支代表一個判斷結果的輸出,最後每個葉節點代表一

九.ARM裸機學習串列埠通訊1(串列埠通訊介面及原理框圖

一.串列埠通訊的基本概念及原理理解 2017/11/12 22:52 1.同步通訊和非同步通訊: 非同步通訊:指通訊的傳送與接收裝置使用各自的時鐘控制資料的傳送和接收過程。為使雙方的收發協調,要求傳送和接收裝置的時鐘儘可能一致,即傳送方和接收方沒有統一的時鐘節拍、而各自按照

Android集合SparseArray、ArrayMap

前言 作為一個Anndroid開發人員來說,我們大多數情況下時使用的Java語言,自然在一些資料的處理時,使用到的集合框架也是Java的,比如HashMap、HashSet等,但是你可否知道,Android因為自身特殊的需求,也為自己量身定製了“專屬”的集合類,查閱官方文件,android.ut

Android基礎ListView的使用

今天給大家帶來《android應用開發全程實錄》中關於listview和adatper中的部分。包括listview的基本使用,listview的優化等。 我們經常會在應用程式中使用列表的形式來展現一些內容,所以學好ListView是非常必需的。ListView也是Android中比較難以使用的控制元件,這

[No000013F]WPF學習X名稱空間

4.2 情況 之前 集中 sharp 要求 mes ble 實例 原文:[No000013F]WPF學習之X名稱空間詳解X名稱空間裏面的成員(如X:Name,X:Class)都是寫給XAML編譯器看的、用來引導XAML代碼將XAML代碼編譯為CLR代碼。 4.1X名稱空間

php學習道:WSDL(一)

WSDL文件使用web服務描述語言來定義服務。 文件包括邏輯(抽象)部分和具體部分。 抽象部分用於定義獨立於實現的資料型別和訊息,具體部分定義一個endpoint如何實現一個可以與外界進行互動的服務。 通常建議在寫程式碼前定義WSDL文件和XML schema,但

WPF學習X名稱空間

X名稱空間裡面的成員(如X:Name,X:Class)都是寫給XAML編譯器看的、用來引導XAML程式碼將XAML程式碼編譯為CLR程式碼。 4.1X名稱空間裡面到底都有些什麼? x名稱空間對映的是:

Linux學習ACL權限(十)

nbsp col 開啟 src qq群 image 通過 defaults access Linux系統ACL權限詳解 目錄 ACL權限簡介與開啟 查看與設定ACL權限 最大有效權限與刪除ACL權限 默認ACL權限和遞歸ACL權限    ACL權限簡介與開啟權

十二.ARM裸機學習SD卡啟動

一.主流的外存裝置發展及介紹 2017/12/12 23:08 ** 1.首先,清楚記憶體和外存的區別: ** 一般是把這種RAM(random access memory,隨機訪問儲存器,特點是任意位元組讀寫,掉電丟失)叫記憶體, 把RO

Shell學習Bash變量(二)

生效 tro 固定 字符 var $0 路徑 查看 列表 Shell學習之Bash變量詳解 目錄 Bash變量 Bash變量註意點 用戶自定義變量 環境變量 位置參數變量 預定義變量 Bash變量 用戶自定義變量:在Bash中由用戶定義的變量。 環境變量:這種

Android應用開發所有動畫使用

factory 技術分享 resource bsp phi 顯示 程序 恢復 分享 題外話:有段時間沒有更新博客了,這篇文章也是之前寫了一半一直放在草稿箱,今天抽空把剩余的補上的。消失的這段時間真的好忙,節奏一下子有些適應不過來,早晨七點四十就得醒來,晚上九點四十才準備下班

Android"掛逼"修煉行---微信中定位照片的位置信息插件開發

頁面 blank 如果 put 法律 mali 特殊字符 在哪裏 加載 一、前言 最近關於微信中,朋友之間發送原圖就可能暴露你的位置信息,其實這個問題不在於微信,微信是為了更好的體驗效果,才有發送原圖功能,而對於拍照,發送普通圖片微信後臺都會過濾圖片的exif信息,這樣就