我正在创建一个安卓应用程序,其中我想要多屏幕support.For,这些我已经使用了9补丁图像。
但我的问题是,对于不同密度的设备,使用-2\f25 9-2\f6的-2\f25 patch images 2\f6是否足够,还是需要为不同的密度(如-2\f25 mdpi -2\f6、-2\f25 ldpi -2\f6、-2\f25 hdpi-2\f6)创建不同的-2\f25 9-2\f6-2\f25 patch -2\f6图像。
提前感谢
发布于 2011-10-05 02:08:42
我最近发现自己遇到了同样的情况,所以让我来补充一下已经说过的话……
是的,9补丁图像将会扩展,这就是它们存在的目的。但是,如果您应该对所有屏幕密度使用9补丁图像,这实际上取决于图像。9-补丁图像更常用,例如按钮。你可以在你的应用程序中有不同大小的按钮,一个9补丁图像将帮助处理它们,无论你如何调整你的按钮大小(只要正确创建了9补丁图像)。
但是假设您的按钮设计在hdpi版本中有一些真正的圆角。您创建的9补丁图像没有弄乱角,但当您在ldpi版本中查看它时,您会意识到您的角对于如此低的分辨率来说太大了。对于这种情况,你需要一个不同的9补丁图像,圆角较少,在该分辨率下看起来更好。
所以,最后的答案是,这真的取决于你的形象。如果你可以创建一个在所有密度下看起来都很好的9补丁图像,那就使用它,因为你只需要一个图像来处理所有密度。但是,如果它看起来不好,因为角,梯度,或任何东西,那么你将需要一个9补丁图像为每个屏幕密度。
希望现在变得更清楚了。
发布于 2011-09-28 20:51:05
来自文档:nine patch
NinePatchDrawable图形是一个可伸展的位图图像,安卓会自动调整它的大小,以适应您放置它作为背景的View的内容。NinePatch的一个例子是标准安卓按钮使用的背景--按钮必须伸展以适应不同长度的字符串。可绘制的NinePatch是一个标准的PNG图像,它包含一个额外的1像素宽的边框。它必须使用扩展名.9.png保存,并保存到项目的res/drawable/目录中。
答案是否定的。你的九个补丁将在不同的屏幕大小之间缩放
发布于 2016-06-01 15:50:55
简而言之,答案是肯定的。请检查以下内容:
默认情况下,安卓会缩放您的位图可绘制文件(.png
、.jpg
和.gif
文件)和九补丁可绘制文件(.9.png
文件),以便它们在每个设备上以适当的物理大小渲染。例如,如果您的应用程序仅为基线、中等屏幕密度(mdpi)提供位图绘制,则系统在高密度屏幕上放大它们,在低密度屏幕上缩小它们。这种缩放可能会导致位图中出现伪影。为了确保您的位图看起来最好,您应该为不同的屏幕密度提供不同分辨率的替代版本。
https://stackoverflow.com/questions/7583359
复制相似问题