如何在android中使用9个补丁图像以获得不同的-2密度(如mdpi、ldpi、hdpi)。?

如何在android中使用9个补丁图像以获得不同的-2密度(如mdpi、ldpi、hdpi)。?,android,image,nine-patch,Android,Image,Nine Patch,我正在创建一个android应用程序,其中我需要多屏幕支持。对于这些,我使用了9个补丁图片 但我的问题是,对于不同密度的设备,使用9个补丁图像是否足够,或者我需要为不同密度(如mdpi、ldpi、hdpi)创建不同的9个补丁图像 提前感谢来自文档: NinePatchDrawable图形是一个可拉伸的位图图像,Android将自动调整其大小,以适应作为背景的视图内容。NinePatch的一个例子是标准Android按钮使用的背景-按钮必须拉伸以适应不同长度的字符串。NinePatch drawa

我正在创建一个android应用程序,其中我需要多屏幕支持。对于这些,我使用了9个补丁图片

但我的问题是,对于不同密度的设备,使用9个补丁图像是否足够,或者我需要为不同密度(如mdpi、ldpi、hdpi)创建不同的9个补丁图像

提前感谢

来自文档:

NinePatchDrawable图形是一个可拉伸的位图图像,Android将自动调整其大小,以适应作为背景的视图内容。NinePatch的一个例子是标准Android按钮使用的背景-按钮必须拉伸以适应不同长度的字符串。NinePatch drawable是标准PNG图像,包括额外的1像素宽边框。它必须与扩展名.9.png一起保存,并保存到项目的res/drawable/目录中


答案是否定的。you nine patch将在不同的屏幕大小之间进行缩放

我最近发现自己也处于相同的情况,所以让我来介绍一下已经说过的内容

是的,9面片图像可以缩放,这就是它们存在的目的。但是,如果你应该使用一个9块的图像来显示所有的屏幕密度,这实际上取决于图像。9-patch图像更常用,例如按钮。你可以在你的应用程序中有不同大小的按钮,9补丁图像将有助于处理它们,无论你如何调整按钮大小(只要正确创建了9补丁图像)

但假设您的按钮设计在hdpi版本中有一些真正的圆角。创建9面片图像时不会弄乱角点,但在ldpi版本中查看时,会发现角点太大,分辨率太低。对于这种情况,您需要一个不同的9面片图像,具有较少的圆角,在该分辨率下看起来更好

所以,最后的答案是,这取决于你的形象。如果您可以创建一个在所有密度下都看起来不错的9面片图像,那么就使用它,因为您只需要一个图像来处理所有密度。但是,如果它看起来不好,因为角落,梯度,或其他原因,那么对于每个屏幕密度,您将需要一个9面片图像

希望现在更清楚了。

简短的回答是肯定的。 选中此项:

默认情况下,Android会缩放位图可绘制文件(
.png
.jpg
.gif
文件)和九个补丁可绘制文件(
.9.png
文件),以便它们以适当的速度渲染 每个设备上的物理大小。例如,如果您的应用程序仅为 基线,中等屏幕密度(mdpi),然后系统在高密度上放大它们 屏幕,并在低密度屏幕上缩小它们的比例。这种缩放可能会导致图像中出现瑕疵 位图。为了确保位图看起来最好,您应该在 不同屏幕密度的不同分辨率


这并不完全正确。是的,ninepatch可以缩放,但是你仍然应该提供ldpi/mdpi/hdpi图像,因为不缩放的部分也应该有正确的大小。但是不同的-2密度呢?我需要创建高密度和低密度的9页图像吗?@AB1209你不需要,但如果你发现你的九匹战车部件不能很好地缩放,你可以。归结为外观和感觉。我通常对所有尺寸和密度的9块补丁都很满意。如果图像是普通png而不是9块png,图像是否仍会被缩放,或者9patch是任何缩放功能的实际硬要求?@Vass图像将被缩放,如果您的视图的大小大于图像的大小。但是9 patch图像用于从riping保存。@AB1209,您能告诉我“从riping保存”是什么意思吗?@Vass我的意思是9块图像保存图像在任何视图上使用时都会失真。这也取决于填充。我已经看到9个面片完全断裂,因为密度之间的重新采样会弄脏填充线。这可能取决于设备/Android版本。