首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在android中使用9个不同密度的补丁镜像(如mdpi,ldpi,hdpi)?

如何在android中使用9个不同密度的补丁镜像(如mdpi,ldpi,hdpi)?
EN

Stack Overflow用户
提问于 2011-09-28 20:42:42
回答 3查看 7.1K关注 0票数 5

我正在创建一个安卓应用程序,其中我想要多屏幕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图像。

提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-05 02:08:42

我最近发现自己遇到了同样的情况,所以让我来补充一下已经说过的话……

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

但是假设您的按钮设计在hdpi版本中有一些真正的圆角。您创建的9补丁图像没有弄乱角,但当您在ldpi版本中查看它时,您会意识到您的角对于如此低的分辨率来说太大了。对于这种情况,你需要一个不同的9补丁图像,圆角较少,在该分辨率下看起来更好。

所以,最后的答案是,这真的取决于你的形象。如果你可以创建一个在所有密度下看起来都很好的9补丁图像,那就使用它,因为你只需要一个图像来处理所有密度。但是,如果它看起来不好,因为角,梯度,或任何东西,那么你将需要一个9补丁图像为每个屏幕密度。

希望现在变得更清楚了。

票数 17
EN

Stack Overflow用户

发布于 2011-09-28 20:51:05

来自文档:nine patch

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

答案是否定的。你的九个补丁将在不同的屏幕大小之间缩放

票数 2
EN

Stack Overflow用户

发布于 2016-06-01 15:50:55

简而言之,答案是肯定的。请检查以下内容:

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

from Android Developer Official Doc

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7583359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档