安卓中不同屏幕尺寸的drawable尺寸要求

5
我在Android开发中遇到了一个令我非常苦恼的问题,这与屏幕尺寸有关,特别是与图像有关。例如,我想为我的活动创建一个背景图像,在Photoshop中创建的背景图像上包含“HELLO”字样。但是当我把它放在drawable-xhdpi文件夹中时,它看起来模糊不清,不够锐利!我的手机是Nexus 4,根据Google文档,我需要创建640x480大小的背景图像。如果我创建960 x 720大小的背景图像,看起来好些但仍然不完美。而且这种情况下,我的图像文件大小非常大!但是,这个问题应该怎么解决呢?请帮帮我,让我永远解决这个问题。我已经阅读了Google文档,但它没有解决我的问题!http://developer.android.com/guide/practices/screens_support.html

2
有时我也会遇到同样的问题,因为mdpi、ldpi、hdpi等不仅适用于固定的屏幕尺寸。许多设备具有类似但不完全相同的尺寸,它们属于同一类别。使用ImageView和ScaleType给了我最好的解决方案。 - Opiatefuchs
2
创建一个9patch,将您的文本放在中心,并重复其余的背景。为所有可能的DPI提供9patch。 - Lalith B
你能发布一下你试图使用的实际图片吗? - MaciejGórski
你可以在这里找到一些帮助:https://dev59.com/K2Qn5IYBdhLWcg3wmILY#16910589 - Bhavesh Jethani
4个回答

5
你通常应该避免为特定的屏幕尺寸创建图片作为背景,因为有成千上万种不同的设备,你需要创建数十个这样的图片。
你需要了解的第一件事是屏幕密度。
通常情况下,即使不考虑屏幕尺寸,你也会创建3到5张图片:低(120dpi)、中(160dpi)、高(240dpi)、超高(320dpi)和2倍超高(480dpi)。这些放在drawable-Xdpi文件夹中,其中X是l、m、h、xh、xxh之一。
接下来,当你想在更大的屏幕上使用更大的图片时(更大的手机、小型和大型平板电脑),你可能想把图片放到类似drawable-sw600dp-Xdpi的文件夹中。但这不适用于你的手机。 Nexus 4 是一个xhdpi 640x384 dp的设备,但你不应该将它与三星Galaxy S2(hdpi 533x320 dp)区别对待。
为两个手机创建一个较小尺寸的图像,并在水平方向上居中。例如,mdpi为320x100像素,hdpi为480x150像素,xhdpi(你的手机)为640x200像素。

1

有1600多个安卓模型,即使它们被归类为几种屏幕尺寸和几种DPI,也很难管理布局..我建议您只集中精力于根据屏幕尺寸设计布局,然后创建可调整大小的视图以忽略密度影响。

一旦您创建了布局,请调整视图大小..您可以创建自定义视图或在其onMeasure()上调整大小;


1

1
这是关于Android碎片化的问题,由于有数百种不同的设备,你无法完美地解决它。正如上面的同事所写,Nexus 4的分辨率为1280 x 768,因此960 x 720的图像分辨率肯定是一个不错的选择。我甚至惊讶于谷歌建议在xhdpi下使用640 x 480,这绝对太少了。
因此,正如我所说,您无法为所有现有设备制作完美的外观图形。您应该从每个屏幕类别(xhdpi、mdpi、ldpi等)中选择最受欢迎的设备,以覆盖最重要的市场份额。

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