这个9-png有什么问题,显示黑色边框?

时间:2013-06-27 07:07:51

标签: android android-layout nine-patch

enter image description here

我一直在努力运行这九个补丁图像,通过添加补丁到所有情况,但它不起作用,我无法弄清楚为什么?任何建议都非常感谢。

使用时不应显示黑线。

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

                    <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工具中打开了这个图像,下面是相同的屏幕截图,

enter image description here

4 个答案:

答案 0 :(得分:6)

可能的解决方案: -

  • 您是否正确创建了9个补丁图像。 check out this site 并创建9patch图像。
  • 不要从像sample.9.png
  • 这样的图像中删除.9扩展名
  • 创建9个补丁图像后,Donot会调整图像大小。
  • 刷新 - 清理构建项目以应用您在资源中所做的更改 文件夹

希望这会有所帮助......

答案 1 :(得分:1)

看看你的绘图,我的猜测是你有太多补丁,可能是大约18个补丁而不是通常的补丁。

将九个补丁加载到Draw 9-patch工具(位于tools/下的Android sdk中)

  • 然后选择&gt; Show bad patches

更新:

请看一下这张图片(摘自此技术blog

nine patch diagram

至少对我来说,这就是我设想的9补丁,png中有9个补丁。在你最新的绘图中,但是从draw-9-patches工具中,我想我正在计算20个补丁

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

答案 2 :(得分:0)

我也经常遇到这个问题,我通常会避免将背线放在图像的边缘。 尝试按照您在图像底部的操作进行操作,并在每条边上留下至少1个像素,不要使用黑色,否则无法正确渲染。

答案 3 :(得分:0)

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