我希望在我的項目佈局中使用'switch',但它所需的最小sdk爲'14',但我也想爲較低版本運行我的項目運行。可以根據API級別創建佈局
上述問題的解決方案?
我一直在使用
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/switch_track_holo_dark" />
我希望在我的項目佈局中使用'switch',但它所需的最小sdk爲'14',但我也想爲較低版本運行我的項目運行。可以根據API級別創建佈局
上述問題的解決方案?
我一直在使用
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/switch_track_holo_dark" />
課程的代碼,你可以有兩個不同的.xml文件一個沒有開關(主)和一個帶開關(MAIN1)。
然後在您的onCreate方法中,您將檢查每個案例的API級別和setContent。
實施例:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int apiVersion = android.os.Build.VERSION.SDK_INT;
if (apiVersion >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH){
setContentView(R.layout.main1);
} else{
setContentView(R.layout.main);
}
}
這適用於較低版本,但較高版本在android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5158) –
上引發一些異常請列出您的整個xml文件 – frogmanx
它絕對必須是一個 '開關'?你能用複選框來完成你的目標嗎?複選框的優點是向後兼容。 –
成就很好,但我在iOS上擁有與水平切換相同的aPp,所以我希望我的android應用看起來與我使用切換的原因相同,因爲android不提供水平切換。 –