不同屏幕尺寸的图像。?

时间:2013-06-18 03:31:23

标签: android android-layout

我阅读了文章http://developer.android.com/guide/practices/screens_support.html

我对此不太清楚:我是否必须制作不同的XML布局以支持不同的屏幕尺寸?

也许有一个简单的例子以更容易理解的方式解释这个问题?

4 个答案:

答案 0 :(得分:0)

不,密度的重点在于一个布局应该适用于所有手机和设备。有一个很好的例子,说明如何在布局here中布置按钮。

请注意其中一个视图的android:layout_marginTop="94dp"视图。只要您使用dp,您的布局应该适用于所有设备。

另一种说法:只要符合以下条件,您就不必担心屏幕尺寸: a)您总是以dp而不是像素来测量距离 b)您始终以sp为单位测量字体大小,而不是像素 c)对于每个图像,您将不同大小的图像放在不同的资源文件夹中(hdpi,xdhpi等)

如果您遵循这些规则,在所有尺寸的屏幕上,一个布局应该看起来非常相似。

答案 1 :(得分:0)

不,您不必为每个尺寸的屏幕提供布局。您只需要一个屏幕布局。但是通过利用他的资源系统,您可以在适当的地方提供替代版本的布局。例如,您可能需要一种手机布局和第二种平板布局。

答案 2 :(得分:0)

也许不是布局xmls而是应该重复的dimen xmls。

有时,如果您不需要精确到小像素,请使用dp。

答案 3 :(得分:0)

  

我对此不太清楚:我是否必须制作不同的XML布局   支持不同的屏幕尺寸?

没有。制作相对陈述,例如android:layout_width="match_parent"。使用9个补丁来定义可伸展的图像。文件密度和屏幕大小依赖于相应目录drawable中的资源,例如drawable-xhdpi。这意味着在不同分辨率下多次提供相同的图像资源。 ldpixhdpi的33.33%,mpdi为50%,hdpi为75%。 xhpi可与iPhone Retina相媲美:如果有人为您提供iOS Retina图像资源,您可以相应地缩小这些资产。

如果您尝试保持向后兼容,那么您必须制作不同XML布局的好时机。例如,当Google开始担心从右向左文本时,android:layout_marginStart仅可从API 17获得。这将在旧设备上无声地失败,而您必须在layout-v10中提供相同的布局,并将android:layout_marginStart替换为android:layout_marginLeft

最后,将您的Android用户界面视为网页。您可以做出的唯一安全假设是您必须填补空间,不要假设您需要填充多少空间。