android - 9 补丁图像在错误的位置缩放

标签 android image scaling nine-patch

我使用 9-patch 图像作为选择器项元素的可绘制对象。 9-patch 图片在这里:

9 patch image

最终渲染的图像是这样的(模拟器和设备截图,两个设备都有分辨率 > mdpi):

resulting rendered image

如您所见,它已缩放到可拉伸(stretch)区域之外(如 9 补丁文件中所定义),较深的绿色条应该更粗。 为什么会这样,可以避免吗? draw9patch 工具正确缩放此图像。这是否与 Android 试图在高分辨率设备上保留物理尺寸有关?

最佳答案

你们只提供图像的 mdpi 版本吗?

Android 会缩放所有无法以正确像素密度提供的图像。这发生在图像通过 9patch 缩放之前。

这意味着您的图像会按比例放大以适合 hdpi,然后再按比例缩放以适合内容。

要解决此问题,您必须提供图像的 hdpi 和 xhdpi 版本。 9patch 不应该针对不同的像素密度和不同的内容/屏幕尺寸。

关于android - 9 补丁图像在错误的位置缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14754460/

相关文章:

html - 图片在 firefox 中显示不正确

c++ - Opengl 奇怪的旋转

php - 多个网站的正确 Docker 设置

kubernetes - 多个副本/Pod 如何扩展 Kubernetes?

wifi - 是否可以可靠地检测到我使用的是哪个 wifi 网络?

android - 从 android 的 Intent 中获取值

java - 如何重置微调器的值?

java - 由于发生无法启动 Activity ComponentInfo 错误,无法将注册按钮重定向到注册页面

Java 扫描仪问题 (JFrame)

c# - 将图像添加到 System.Net.Mail 消息