9 patch不正常工作

3

我已经为Android EditText背景创建了一个简单的9宫格图案。当我在Eclipse中预览图形布局时,它的效果完全符合预期。

问题是,当我将应用程序安装到设备上时,该EditText被严重缩放,几乎无法辨认。

可能的问题是什么?


2
你能发布所安装设备上的9宫格图像和屏幕截图吗? - Michael Schmidt
2个回答

3

我能想到的几件事情:

  1. 它叫做image_name.9.png吗?
  2. 你是使用draw9patch工具保存它的吗?
  3. 你是否将图像放在所有的绘制文件夹中?(hdpi、mdpi等)

你说在Eclipse中它运行良好,所以可能不是1或2。


我没有把它放在所有的绘图文件夹中。 我认为一旦它是@drawable,无论设备如何,应用程序都可以访问它。 - Radu
无论如何,您都应该使用不同的可绘制文件夹进行工作。只需尝试并查看是否有效 :) - Shpongoloid
确实,所有设备都可以从“drawable”文件夹访问图像,但这可能会导致不必要的缩放。通常情况下,您不希望在“drawable”文件夹中放置实际的图像文件。但是,“drawable”文件夹中的XML文件没有问题。 - Shpongoloid
没有成功。然后,我换了一个不同的9 patch进行重试,这次成功了。 也许有一些像素不是100%透明的。 无论如何,还是谢谢:) - Radu
@Pewiity,我的9patch文件名为left_2.9.png。在布局设计中它显示得很好,但是当我安装到设备上时,一切都变得混乱了。之前在我的设备上它甚至还能正常工作,但突然间就停止了。我将文件名更改为left.9.png,但仍然没有成功。这是在Android Studio 2.2预览版3中发生的。 - Edijae Crusar

2

可能在9-patch区域(1像素边框)上有垃圾(像素不完全黑色),因此它无法将其识别为9-patch。

使用draw9patch工具保存此图像,并在构建之前清理您的项目!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接