2013-03-16 41 views
0

我有一個可打開各種子活動的應用程序。每當移動設備使用API​​級別11+時,我想顯示一個按鈕來打開一個打開日曆的活動。Android,如何可選地包含基於API級別的東西

然而,當例如設計活動XML,我得到錯誤:

View requires API level 11 (current min is 8): activity_calendar.xml

有什麼辦法來標記XML /代碼文件,他們只應即時拍攝/編譯爲API級別11 ......然後寫一個基於API - 代碼級別包括顯示/打開需要aPI級別11的calanedar活動的選項?

這是一個普遍的問題,雖然在我的情況下,它是由想要使用CalendarView引起的。 (我知道有我目前考慮一些的Apache 2.0許可日曆的替代品。)

+1

您始終可以根據API級別創建xml資源(可繪製,佈局等)。然而,在代碼中,你必須測試你是哪個版本,並使用/不使用新的API。 – Luksprog 2013-03-16 09:37:46

+0

(我已經將XML文件放在「example/res/layout-v11」中,但我仍然得到相同的錯誤)。 – Tom 2013-03-16 11:12:16

回答

3

下面的代碼:

if (Build.VERSION.SDK_INT > Build.VERSION_CODES.GINGERBREAD) { 
    // do stuff for newer than Gingerbread 
} 

對於XML

/res/layout-v8 

更改爲你所需要的版本。

+0

(我已經將XML文件放在「example/res/layout-v11」中,但我仍然得到相同的錯誤。) – Tom 2013-03-16 11:12:37