2010-09-21 76 views
15

如何創建自定義主題並在代碼中使用它?在菜單中如何實現主題選項並申請活動?如何創建自定義主題並在Android應用程序中使用它

有什麼想法?

+0

檢查我的帖子:http://stackoverflow.com/questions/2613101/themes-in-android – Praveen 2010-09-21 09:43:17

+0

看看[這裏](http://www.androidengineer.com/2010/06/ using-themes-in-android-applications.html)文章。可能這就是你要找的。 – orchidrudra 2012-02-10 11:07:21

回答

2

This是完美的網站,它創建所有必要的文件,你需要做一個自定義的用戶界面。幾個星期前我親自使用它,它對我很好。

我與本網站沒有任何關係,但發現它很有趣。 希望這可以幫助你:)

12

在android開發人員網站上有一個不錯的Styles and Themes guide。基本上你需要做的是

  1. Define a style(或繼承一個內置的)。要定義風格

保存一個XML文件中的res/values/目錄中的項目。 XML文件的名稱 是任意的,但它必須使用.xml分機號 並保存在res/values/文件夾中。

XML文件的根節點必須是<resources>

對於要創建的每種樣式,請使用一個名稱來爲文件 添加一個元素,該元素具有唯一標識樣式的名稱(該屬性爲 必需)。

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="Theme.MyGreenTheme" parent="Theme.Light"> 
     <item name="android:windowBackground">#11aa22</item> 
    </style> 
</resources> 

它命名的資源文件themes.xml所以它更容易認識到用於什麼這些樣式是非常有用的。

  • Apply定義的樣式到要 程式化的活性或視圖。您可以

    • 設置活動/應用主題清單文件:

    <activity android:theme="@style/Theme.MyGreenTheme"/>

    • 或動態設置 - 使用Activity類的相應的setter - setTheme()
  • 0

    您可以根據通過添加「父」默認樣式添加你的風格。

    <style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle"> 
        <item name="color">#fff</item> 
    </style> 
    
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
        <item name="colorPrimary">@color/colorPrimary</item> 
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
        <item name="colorAccent">@color/colorHitam</item> 
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
        <item name="android:textColorSecondary">#fff</item> 
        <item name="android:textAllCaps">false</item> 
        <item name="android:actionOverflowButtonStyle">@style/OverFlow</item> 
    </style> 
    
    <style name="OverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow"> 
        <item name="android:src">@drawable/ic_login_2</item> 
    </style> 
    
    <style name="MasukDaftar" parent="Theme.AppCompat.Light.DarkActionBar"> 
        <item name="colorPrimary">@color/colorPrimary</item> 
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
        <item name="colorAccent">@color/colorHitam</item> 
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
        <item name="android:textColorSecondary">@color/colorHitam</item> 
        <item name="android:textAllCaps">false</item> 
    </style> 
    
    <style name="SplassScreenCustom" parent="Theme.AppCompat.NoActionBar"/> 
    
    <style name="AppTheme.Dark.Dialog" parent="Theme.AppCompat.Dialog"> 
        <item name="colorAccent">#fff</item> 
        <item name="android:textColorPrimary">@color/colorHitam</item> 
        <item name="colorPrimaryDark">@color/colorHitam</item> 
        <item name="android:background">@color/colorPrimary</item> 
        <item name="android:textColorSecondary">@color/colorHitam</item> 
        <item name="android:textAllCaps">false</item> 
    </style> 
    
    <style name="TabLayoutTextStyle"> 
        <item name="android:textStyle">bold</item> 
        <item name="android:textSize">16sp</item> 
        <item name="android:textAllCaps">false</item> 
        <item name="android:textColor">#fff</item> 
    </style> 
    
    <style name="Toolbar" parent="Theme.AppCompat"> 
        <item name="colorPrimary">@color/colorPrimary</item> 
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
        <item name="colorAccent">@color/colorAccent</item> 
    </style> 
    
    <style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert"> 
        <item name="colorAccent">@color/colorPrimary</item> 
        <item name="android:textColorPrimary">@color/colorHitam</item> 
    </style> 
    
    相關問題