2015-09-03 31 views
0

這是我的第一個android項目,請耐心等待。每當我更改佈局的背景時,我的應用崩潰了,我注意到如果背景可繪製不包括旁邊的(v21),則佈局不會崩潰。例如,將背景設置爲@drawable/gradient_bg它可以正常工作,另一方面,@drawable/gradient_bg_purple在裝入佈局時會使應用程序崩潰。Android應用程序崩潰與可繪製資源作爲背景

enter image description here

什麼是(v21)是什麼意思?我猜它必須使用android API v?這是否意味着我應該爲所有版本都有不同的文件? :/

我測試上HTC - Android的V-4.1.2 - HTC SDK級別 - 5.26

感謝

回答

2

v21意味着資源將在Android版本21和使用/提供向上。所以在你的情況下,對於任何低於該版本的Android版本,該資源都不存在。

更新 你應該把這些可繪製出drawable-v21並將其放置在根據您需要的密度相應的文件夾。例如,將其放置在drawable-mdpi,drawable-hdpi等中。

2

v21表示將使用此可繪製對象的最小API級別。
您正在運行Android 4.1.2,它使用API​​ v16

顯然,您在資源(res)目錄中創建了一個drawable-v21目錄。
請檢查是否屬於這種情況,並將drawable移動到drawable目錄。

如果確實如此,可能是因爲Android Studio提出了此更改,而您正在使用特定於v21 API的功能。
如果您向我們展示此gradient_bg_purple.xml文件,我們可以提供更多幫助。