0

在此处输入图像描述

我一直在努力通过在所有情况下添加补丁来运行这九个补丁图像,但它不起作用,我不知道为什么?任何建议都受到高度赞赏。

当我使用它时,它不应该显示黑线。

这是我使用此图像的布局代码,

                    <Button
                    android:id="@+id/answerA"
                    android:layout_width="fill_parent"
                    android:layout_height="match_parent"
                    android:layout_marginRight="2dp"
                    android:layout_weight="1"
                    android:background="@drawable/d_grey"
                    android:gravity="center"
                    android:onClick="AnswerCheck" />

- 编辑 -

正如答案中所建议的,我在 Ninepatch 工具中打开了这张图片,下面是相同的截图,

在此处输入图像描述

4

4 回答 4

6

可能的解决方案:-

  • 您是否正确创建了 9-patch 图像。查看此站点 并创建 9patch 图像。
  • 不要从像 sample.9.png 这样的图像中删除 .9 扩展名
  • 创建 9 个补丁图像后不要调整图像大小。
  • Refresh-Clean-build 项目以应用您在资源文件夹中所做的更改

希望这可以帮助...

于 2013-06-27T07:13:59.387 回答
1

看看你的画,我猜你的补丁太多了,可能是 18 个补丁,而不是通常的 9 个。

将 9-patch 加载到Draw 9-patch工具中(在你的 Android sdk 下tools/

  • 然后选择 >Show bad patches

更新:

看看这张图片(取自这个技术博客

九个补丁图

至少对我来说,这就是我所设想的 9-patch,即 png 中有 9 个补丁。然而,在您最新的绘图中,从 draw-9-patches 工具中,我想我正在数 20 个补丁

话虽如此,我不确定我所说的是否正确。如果你有坏的 9 补丁,该工具至少应该向你显示被红线包围的坏补丁。因此,可能是博主和我自己都不正确。

于 2013-06-27T07:27:13.597 回答
0

我也经常遇到这个问题,我通常避免将背线放在图像的最边缘。尝试像在图像底部那样进行操作,并在每个边缘上至少保留 1 个像素而不是黑色,否则无法正确渲染。

于 2013-06-27T08:25:08.083 回答
0

我在 xxxhdpi 屏幕上遇到了这个问题。Android 文档对 xxxhdpi 说:“用于超超超高密度 (xxxhdpi) 用途的资源 (~640dpi)。仅将其用于启动器图标,请参见上面的注释。” 因此,在我的 xxxhdpi 设备中,9-patch 图像显示为带有黑线边框。删除 xxxhdpi 9 补丁时,显示问题已修复。

于 2015-07-08T09:08:57.970 回答