2013-08-03 54 views
0

我希望在我的項目佈局中使用'switch',但它所需的最小sdk爲'14',但我也想爲較低版本運行我的項目運行。可以根據API級別創建佈局

上述問題的解決方案?

我一直在使用

<Switch 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/switch_track_holo_dark" /> 
+0

它絕對必須是一個 '開關'?你能用複選框來完成你的目標嗎?複選框的優點是向後兼容。 –

+0

成就很好,但我在iOS上擁有與水平切換相同的aPp,所以我希望我的android應用看起來與我使用切換的原因相同,因爲android不提供水平切換。 –

回答

0

課程的代碼,你可以有兩個不同的.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); 
    } 

} 
+0

這適用於較低版本,但較高版本在android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5158) –

+0

上引發一些異常請列出您的整個xml文件 – frogmanx