0

這是我的第一款Android應用程序,我被困在如何爲小型,中型和大型屏幕尺寸分組佈局以及如何支持棒棒糖前設備和以上的棒棒糖設備?支持所有屏幕尺寸的Android佈局支持棒棒糖及以上棒棒糖設備

佈局小

佈局小V21

佈局正常

佈局正常-V21

佈局大

佈局大V21

上面列出的目錄名稱是否正確?或者可以有人告訴我如何實現這一目標?

+0

單獨創建XML,並檢查您的SDK版本以編程方式和基於檢測到的版本膨脹您的佈局 –

+0

閱讀文檔https://developer.android.com/guide/practices/screens_support.html – Flexicoder

回答

2

要使用不同的佈局文件夾支持所有屏幕尺寸,您必須遵循這些文件夾結構。

res/layout/my_layout.xml    // layout for normal screen size ("default") 
res/layout-small/my_layout.xml  // layout for small screen size 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-xlarge/my_layout.xml  // layout for extra large screen size 
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation 

並給予相應的支持,啓用的manifest.xml

<supports-screens android:smallScreens="true" 
     android:normalScreens="true" 
     android:largeScreens="true" 
     android:xlargeScreens="true" 
     android:anyDensity="true" /> 

併爲各自所有的屏幕分辨率的圖像繪製使用的文件夾結構:

res/drawable-mdpi/ic_launcher.png  // bitmap for medium density 
res/drawable-hdpi/ic_launcher.png  // bitmap for high density 
res/drawable-xhdpi/ic_launcher.png  // bitmap for extra high density 

要以之前給予支持和棒棒糖api後。您必須爲應用程序支持決定最低api級別和最高api級別。

假設你想要的應用程序: 分鐘。 api級別= 15和最大。 API級= 23

在Eclipse IDE:在的Manifest.xml添加

<uses-sdk 
     android:minSdkVersion="15" 
     android:maxSdkVersion="23" 
     android:targetSdkVersion="23" /> 

在AndroidStudio IDE:在的build.gradle添加

defaultConfig { 
     ... 
     minSdkVersion 15 
     maxSdkVersion 23 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
     .... 
    } 
+0

謝謝你先生,你的回答幫助了我。 –

+0

爲什麼不像OP那樣包含-v21? – santafebound

+0

@santafebound,因爲大多數android組件庫都支持API 21以下的版本,因此不需要創建佈局...- v21,某些組件依賴於應用程序主題,所以可能需要創建值-v21來區分某些具有材料支持的組件的主題。 –