多屏幕尺寸/密度的灵活安卓布局

4
我正在为Android创建一款纸牌游戏。我正在尝试设计一种布局,使得游戏可以在所有屏幕大小和密度上进行游玩。
我已经阅读了这篇文章:http://developer.android.com/guide/practices/screens_support.html,但是我仍然不确定最佳实现方式。
对于这个游戏,我需要以横向模式排列5列卡牌。在这5列的上方有额外的空间放置其他卡牌。在这个方面,它与纸牌游戏很相似...但我只需要5列而不是7列。
卡牌图像在ldpi、mdpi和hdpi中应该是什么尺寸?
应该使用哪种布局(表格、线性、相对)?
是否应该针对不同的屏幕大小(小型、普通、大型)创建不同的布局?
你可以给我指点一些例子吗?

1
如果你还没有阅读过的话,你也应该查看一下http://developer.android.com/guide/practices/screens_support.html#screen-independence。对于可伸缩的光栅图像,你可能想使用[`NinePatch`](http://developer.android.com/reference/android/graphics/NinePatch.html)。 - Matt Ball
它应该会对你有所帮助:http://stackoverflow.com/questions/10853808/something-going-wrong-with-drawbitmap-with-source-and-dest-rectangles/10854647#10854647 - Nolesh
2个回答

8
首先,很抱歉我的英语不够好。 您应该将资源分成一些文件夹(根据屏幕大小),例如,从不同的资源创建不同的布局。 您可以按以下方式操作:
1. drawable
-drawable-hdpi

-drawable-mdpi

-drawable-ldpi

2.layout

--layout-hdpi

--layout-mdpi

--layout-ldpi

自适应不同屏幕尺寸的资源,可以使您的应用适用于多种设备。


创建哪个文件夹用于720*1280的表格图像尺寸? - ckpatel
安卓会自动选择布局吗?因为我的总是选择默认布局,我已经在三个设备上尝试过了(小米红米1S、红米Note、红米Note 2)。添加以下代码: android:compatibleWidthLimitDp="720" android:requiresSmallestWidthDp="720" android:resizeable="true" android:smallScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:normalScreens="true" android:anyDensity="true"在清单上也没有效果。 - neneo

0

Android文档对此有很好的指南:

支持多个屏幕

他们介绍了通用大小和密度,并展示了如何为不同的屏幕动态加载不同的资源。

我自己也是新手,所以不要完全相信我的话,但我认为您可以使用一个布局适配所有屏幕大小,尤其是对于像纸牌游戏这样复杂的应用,RelativeLayout可能会很好用(在大多数情况下)。当我想要将按钮/文本水平对齐时,我主要在RelativeLayout中使用LinearLayouts。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接