我想制作支持所有Android设备(平板电脑和手机)的游戏。我可以通过编码获得屏幕尺寸。 我是否将小型,中型和大型3 0r 4布局? 哪种尺寸适合小型,中型,大型和超大型? 是否有其他方法可以为所有设备设置布局?
答案 0 :(得分:0)
以下是您需要的Android文档:
http://developer.android.com/guide/topics/resources/providing-resources.html
您可以使用屏幕大小,屏幕像素密度或其他内容来确定如何分隔布局。
您可以指定不同的布局(您应该尝试)。不同的尺寸可以使用相同的布局。设备最终使用的布局取决于一组规则。
因此,例如,如果您想使用屏幕大小,您可能希望在res文件夹下创建名为layout-small,layout-medium,layout-large,layout-xlarge的文件夹。这是因为layout是布局资源的默认文件夹,然后添加 - 。在这种情况下,小,中,大或xlarge。
编辑:上面的Alex链接可能就是您要找的内容。我的链接更多是关于如何做到这一点,但亚历克斯的链接更多的是关于如何做到这一点。我不确定你究竟在问什么。
答案 1 :(得分:0)
(1)支持所有布局尺寸的一种方法是将合适尺寸的图像放入drawable-hdpi,drawable-mdpi,drawable-ldpi和drawable-xhdpi。 Android运行时系统将自动选择特定屏幕尺寸的设备的图像。在这种方法中,您不必为每种尺寸制作不同的布局文件。
(2)实现同样的第二种方法是动态检测设备的大小(密度),然后相应地设置布局,可以这样做:
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
switch(displayMetrics.densityDpi){
case DisplayMetrics.DENSITY_LOW:
// your layout for small-size devices.
break;
case DisplayMetrics.DENSITY_MEDIUM:
// your layout for medium-size devices.
break;
case DisplayMetrics.DENSITY_HIGH:
// your layout for big-size devices.
break;
}
在这种方法中,您可能需要分别为每个尺寸制作不同的布局文件。