0

我正在開發一個以listview開頭的應用程序。 我遇到了應用程序主題的設置問題。 材料設計可應用於Android 5.0及以上版本。所以,我創建了一個價值-21文件夾並創建styles.xml如下:在5.0版本Android版應用主題

<resources> 
    <!-- Inherit from the light Material Theme --> 
    <style name="MyCustomTheme" parent="android:Theme.Material.Light"> 
    <item name="android:colorPrimary">@color/My_LightBlue</item> 
    </style> 
</resources> 

在Android中這個主題並不適用,因爲它無法讀取值-21文件夾中。 我還必須在值標準文件夾中創建styles.xml? 必須創建一個新主題來更改應用欄的顏色(這是我的目標)。

我有點迷茫...... 謝謝

+0

可以使用設計支持庫使用上較舊的Android版本的材料設計 - https://developer.android.com/topic/libraries/support-library/features.html#design – Okas

回答

1

https://developer.android.com/training/material/compatibility.html

你可以配置你的應用程序上使用設備用材料的主題, 支持,並恢復到一個較舊的主題在早期運行 Android版本的設備:

  1. 在定義從一箇舊的主題繼承(如全息)主題res/values/styles.xml。
  2. 定義與res/values-v21/styles.xml中的材質 主題相同的名稱的主題。
  3. 在清單文件中將此主題設置爲應用程序的主題。

如果你根據材料設計指南設計佈局不使用任何的是Android 5.0(API級別21)介紹新的XML屬性,它們會在Android的早期版本。否則,您可以提供其他佈局。您還可以提供其他佈局,以定製您的應用在早期版本的Android上的外觀。

res/layout-v21/中爲Android 5.0(API級別21)創建佈局文件,並在res/layout/之內爲較早版本的Android創建替代佈局文件。例如,res/layout/my_activity.xml是res/layout-v21/my_activity.xml的替代佈局。

檢查this answerblog

+0

通知我仍然在困惑。@ roberto garavaglia –

+0

謝謝你的回答。那麼,如果我不應用Material Theme,在Android 6.0上執行時哪個主題會應用到我的應用程序中? – robyg72

+0

請檢查[本](http://stackoverflow.com/questions/9832114/how-to-use-device-default-theme-for-app)和[這個答案](http://stackoverflow.com/questions/21762203/change-the-project-theme-in-android-studio)。你會了解主題概念。 –