我们使用9png主要是为了减小apk的大小。但是,我面临着一个特殊的问题。我不确定在哪个文件夹中放置9pngs。我把它们放在HDPI文件夹中。由于Android是“聪明的”,看起来如果我在MDPI手机中使用该应用程序,它会“缩放”9png,从而产生疯狂的效果。直到我在Galaxy笔记中尝试它之前,我没有遇到任何重大问题。看起来9png是从HDPI中获取并缩放的(注意有800x1280)并且它创建了奇怪的效果。
答案 0 :(得分:15)
根据Romain Guy在Google小组中answer的说法:
缩小时,9-patch的行为未定义。在实践中你会 看到9patch的各个部分的重叠。不要这样做:))
从我在项目中注意到的情况来看,9PNG与任何常规PNG一样缩小,因此我通常会向我们的设计师请求ldpi, mdpi, hdpi
和xhdpi
的整套图像,而我将它们全部转换成9个补丁。
除非有一个非常简单的9patch,就像普通的按钮背景一样,在拉伸或收缩时没有任何区别,所以我通常将它放在常规drawable
文件夹中。
答案 1 :(得分:10)
我在九个补丁图像中遇到了类似的问题:如果我将它放在res/drawable
文件夹中,它在ldpi
屏幕上无效(它会扭曲图像并失去透明度)
我的解决方案是将其放在res/drawable-nodpi
文件夹中。文档说明:
这可以用于您不想要的位图资源 缩放以匹配设备密度。
答案 2 :(得分:0)
只需将9png放入HDPI文件夹即可。
如果你的Galaxy Note中的效果看起来很奇怪。
请设计师为您提供XHDPI的新9png文件。然后将新文件放在XHDPI文件夹中。