Android开发 - 图形问题/ XML

时间:2014-03-14 01:56:27

标签: android xml

Quick mockup of what I'm looking for

嘿大家好!我是Android开发的新手,我遇到了一些问题,让我按照自己的方式设置布局。我对Java和面向对象设计很有经验,但我的标记/图形技能可以使用一些工作。

附件大致是我想要完成的事情。它将成为一个基本游戏 - 红色是ImageViews,蓝色是按钮,绿色是标签。我需要帮助的事情:

- 高像素密度屏幕上的图像非常小。我是否可以将图像缩放到屏幕的某个百分比,无论设备是什么?我意识到图像可能会扭曲 - 这没关系。这些图像的质量并不太重要。

- 我应该如何处理ImageViews和Label之间的差距?

非常感谢有关如何使用此功能的任何其他建议或代码!谢谢!

3 个答案:

答案 0 :(得分:1)

这看起来很简单。注意我的解决方案是在xml中完成的。

首先,您将需要不同屏幕密度的所有资产 - ldpi,mdpi,hdpi,xhdpi,xxhdpi。如果您没有定位超小型手机,则可以跳过ldpi。当然xxhdpi资产将是最高分辨率,ldpi(如果跳过ldpi则为mdpi)资产将是最低分辨率。请注意,Android对不同dpis之间的比率有特定的指导。也就是说,mdpi图标是' X'乘以ldpi图标的大小等等。您可以谷歌比率并获得不同密度(dpi)的资产。

现在为每种资产类型创建单独的可绘制文件夹。您需要将它们命名为:drawable-ldpi,drawable-mdpi,drawable-hdpi等。将ldpi资源放在drawable-ldpi文件夹中,将mdpi放在drarable-mdpi等等。

现在,您很可能不需要为不同的屏幕创建不同的布局,但我会稍微介绍一下。

我这样做的方法是在4个相对布局中分解屏幕 - 红色图像视图为2,绿色标签为1,蓝色按钮为1。使用android:layoutAlignParentBottom = true将您的蓝色相对布局锚定到屏幕底部。现在在蓝色相对布局中,为了放置5个按钮,我将使用TableLayout并将其放在蓝色相对布局中。现在,开始将每个按钮添加为TableRow项。它们将自动均匀放置,但我建议给每个按钮一个带有android的填充:padding =" X dip" (设置X)。

现在将绿色标签布局设置在蓝色相对布局的顶部。在其中添加标签。

现在在绿色布局顶部设置红色相对布局(有两个图像),堆叠使得底部与绿色相对布局的顶部对齐,顶部与第一行红色相对布局的底部对齐。添加TableLayout并添加两个图像。为了使它们更靠近顶部,将TableLayout对齐到第二行相对布局的顶部,并给出填充以通过您提供的任何填充填充来推动图标。

现在,将第一个红色相对布局底部堆叠在第二行相对布局的顶部。使用android:alignParentTop = true将第一个红色相对布局的顶部设置到屏幕顶部。现在在这里添加另一个TableLayout,并将3个图像作为TableRow项添加适当的填充。

执行与锚定在屏幕底部的蓝色相对布局相关的所有内容,将确保对称性。使用不同密度的图形将适当增加其内部资产的大小。

这样你就可以只使用一个布局文件夹。但是,有一点需要注意的是,在某些屏幕上,它可能看起来不像你想要的那样。如果它确实发生了,那么你为它创建一个单独的布局。

答案 1 :(得分:0)

您可以为不同的屏幕密度创建不同的布局文件夹(布局,布局大等),并在每个布局中相应地提供图像视图大小(宽度和高度)。请点击以下链接了解更多信息:

http://developer.android.com/training/multiscreen/index.html

答案 2 :(得分:0)

I recommend you to use linear layout with weights. as weights divide each screen equally
and as you are using HD graphics,no need to create diffrent folders.but if you want to
 use different folders the you have to use layout folder for screen size upto 5.1 inch
 and layout-sw600dp-land and port for 7"  and layout-sw720dp-land and port for 10 inch.