将9png图像放到哪个文件夹中?

时间:2012-05-03 09:22:08

标签: android android-layout nine-patch

我们使用9png主要是为了减小apk的大小。但是,我面临着一个特殊的问题。我不确定在哪个文件夹中放置9pngs。我把它们放在HDPI文件夹中。由于Android是“聪明的”,看起来如果我在MDPI手机中使用该应用程序,它会“缩放”9png,从而产生疯狂的效果。直到我在Galaxy笔记中尝试它之前,我没有遇到任何重大问题。看起来9png是从HDPI中获取并缩放的(注意有800x1280)并且它创建了奇怪的效果。

  • 那么放置9pngs的地方是哪个?
  • 如何告诉Android系统不要根据放入的文件夹'缩放'9png?

3 个答案:

答案 0 :(得分:15)

根据Romain Guy在Google小组中answer的说法:

  

缩小时,9-patch的行为未定义。在实践中你会   看到9patch的各个部分的重叠。不要这样做:))

从我在项目中注意到的情况来看,9PNG与任何常规PNG一样缩小,因此我通常会向我们的设计师请求ldpi, mdpi, hdpixhdpi的整套图像,而我将它们全部转换成9个补丁。

除非有一个非常简单的9patch,就像普通的按钮背景一样,在拉伸或收缩时没有任何区别,所以我通常将它放在常规drawable文件夹中。

答案 1 :(得分:10)

我在九个补丁图像中遇到了类似的问题:如果我将它放在res/drawable文件夹中,它在ldpi屏幕上无效(它会扭曲图像并失去透明度)

我的解决方案是将其放在res/drawable-nodpi文件夹中。文档说明:

  

这可以用于您不想要的位图资源   缩放以匹配设备密度。

答案 2 :(得分:0)

只需将9png放入HDPI文件夹即可。

如果你的Galaxy Note中的效果看起来很奇怪。

请设计师为您提供XHDPI的新9png文件。然后将新文件放在XHDPI文件夹中。