Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> 自定義Android主題風格theme.xml方法

自定義Android主題風格theme.xml方法

編輯:初級開發

在Android中可以通過自定義主題風格方式來實現個性化以及復用,首先我們創建theme.xml主題文件,保存位置為工程的res/values/theme.xml ,這裡我們可以可以為主題起一個名稱,比如CWJ,這裡去除了xml的文件頭<?xml version="1.0" encoding="utf-8"?>這行,我們在工程中只需在androidmanifest.xml文件的Activity節點中加入android:theme="@style/Theme.CWJ" 屬性,則這個Activity就使用了這種主題風格,整個XML的關鍵代碼如下:

<resources>
    <style name="Theme.CWJ" parent="android:Theme">
        <item name="android:windowBackground">@drawable/android123</item>
    </style>
</resources>

  其中上面的代碼中,我們定義設置全局android:windowBackground即背景值為/res/drawable中的android123圖片為背景,更多的屬性定義可以參考vIEw的layout XML屬性設置,比如我們設置所有字體顏色、大體大小和樣式,可以在style節點中加入

  <item name="android:textColor">#fff</item>
  <item name="android:textSize">14sp</item>
  <item name="android:textStyle">bold</item> 

 當然我們可以將上面的android123的圖片改進下,使用一個xml文件替代,比如使用bitmap對象,則/res/drawable/android123.XML的完整代碼變為

  <?XML version="1.0" encoding="utf-8"?>

 <bitmap XMLns:android="http://schemas.android.com/apk/res/android"
     android:src="@drawable/cwj_image"
     android:tileMode="repeat" /> 

  這裡我們使用了一個bitmap對象來解析cwj_image圖片,當然這裡可以識別各種類型的圖片,其中android:tileMode是bitmap的內部屬性,其中tileMode設置為repeat代表重復,這樣可以節省bitmap資源,比如我們的背景是一層樓,那麼全屏可以顯示同樣的為5層效果,而圖片僅是一層大小,對於資源利用相對更高。

  當然bitmap的屬性tileMode的值為repeat外還有其他的值比如clamp、mirror,這些值並沒有在SDK中並沒有找到定義,通過上次android開發網的 android自定義VIEw以及layout屬性全攻略 一文,我們可以聯想到bitmap屬於android.graphics.Bitmap 包,由於是android框架,所以下載git的base包,找到該類,類的實例化時android123已經在 android自定義VIEw以及layout屬性全攻略 說的很清楚,所以我們定位到res\values中找到attr.XML有關bitmap的定義即可,有關bitmap的更多屬性如  antialias、filter和dither都可以找到使用。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved