繁体   English   中英

不同屏幕尺寸的图像。

[英]Images for Different Screen sizes.?

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

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

也许有一个简单的示例以更容易理解的方式解释了这一点?

不,密度的全部要点是,一种布局应适用于所有电话和设备。 还有如何在布局布局按钮一个很好的例子在这里

请注意该链接上的视图之一如何具有android:layout_marginTop="94dp"只要您使用dp,您的布局就应该适合所有设备。

换句话说:您不必担心屏幕尺寸,只要:a)您始终以dp为单位测量距离,而不是像素b)您始终以sp为单位而不是像素来测量字体大小c)对于每个图像,您都可以将不同大小的图像放入不同的资源文件夹(hdpi,xdhpi等)中

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

不,您不必为每个尺寸的屏幕都提供布局。 屏幕只需要有一种布局。 但是,通过利用资源系统,您可以在适当的地方提供布局的替代版本。 例如,也许您想要一种布局用于手机,另一种布局用于平板电脑。

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

有时,如果您不必精确到小像素,使用dp可能会有所帮助。

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

否。做出相对的陈述,例如android:layout_width="match_parent" 使用9色块定义可拉伸图像。 适当的目录drawable中依赖文件密度和屏幕尺寸的资源,例如drawable-xhdpi 这将意味着以不同的分辨率多次提供相同的图像资源。 ldpi是33.33% xhdpimpdi是50%,和hdpi是75%。 xhpi可与iPhone Retina媲美:如果有人为您提供iOS Retina图像资产,则可以针对Android将这些资产相应缩小。

如果要保持向后兼容,则必须进行不同的XML布局的一个好时机。 例如,仅当Google开始担心从右到左的文本时,才可以从API 17中使用android:layout_marginStart 这将在旧设备上无声地失败,取而代之的是,您必须在layout-v10提供相同的布局,用android:layout_marginStart替换为android:layout_marginLeft

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM