2014-04-25 33 views
0

我想在API小於14時在複選框和開關之間進行切換我希望在API超過14時顯示覆選框我希望切換到出現我嘗試了很多導入切換到API小於14,但我不能如果任何人可以幫助我導入切換到API小於14或幫助我做出不同的API佈局如果更改API,則在開關和複選框之間進行切換

+0

請發表您的代碼,你有什麼試過。 –

+0

我不會爲make 2佈局做任何事情我不知道如何爲不同的API版本製作2佈局 – mmsmhh

+0

您可以將它們放置在一個佈局中,並根據API級別更改它們的可見性。 –

回答

0

您可以通過編程Build.VERSION.SDK_INT檢查Build.VERSION.SDK_INT作爲如下

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 
    // show Switch 
} else { 
    // show CheckBox 
} 

或者你也可以針對不同的API級別創建不同的佈局XML,並付諸相應的佈局文件夾,如下

res/layout/mylayout.xml  (API Level 8+) 
res/layout-v11/mylayout.xml (API Level 11+) 
res/layout-v14/mylayout.xml (API Level 14+) 
+0

此錯誤出現在XML查看需要API級別14(當前最小值爲9): mmsmhh

+0

我已更新我的答案。 –

+0

我不明白的更新,你可以討論它 – mmsmhh

0

使用資源文件夾使用CheckBox默認和Switch的API級別14以上。

res/layout/compound_button.xml

<CheckBox 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

res/layout-v14/compound_button.xml

<Switch 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

然後,您可以包括其他佈局compound_button,說activity_main.xml

<include 
    android:id="@+id/turbo" 
    layout="@layout/compound_button" /> 

由於兩個CheckBoxSwitch延伸CompoundButton,你可以在Java代碼中這樣的值:

CompoundButton turbo = (CompoundButton) findViewById(R.id.turbo); 
if (!turbo.isChecked()) { 
    // Slow down the computer 
} 

關注我更多的信息,請與(在21:25開始): http://www.infoq.com/presentations/android-fragmentation-myth

+0

我不明白這個答案 – mmsmhh

+0

不應該'res/layout-v14/compound_button.xml' – Raghunandan

+0

好趕上!固定。 – chiuki

相關問題