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来区分某些具有材料支持的组件的主题。 –