2

所以我尝试了 9-patch 图像。我从一个 PNG 文件开始,其中有一个带圆角的半透明正方形:

在此处输入图像描述

然后,我创建了 9-patch,如下所示(注意顶部和左侧的小点):

在此处输入图像描述

我认为这足以处理这个问题,但是当将此 9-patch 添加到 Eclipse 时,我得到了奇怪的结果。

结果 nbr 1

基于此 XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout6"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/taxibg3"
    android:orientation="vertical" >

    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:background="@drawable/login_square" />
</LinearLayout>

我得到这个结果:

在此处输入图像描述

结果 nbr 2

基于此 XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout6"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/taxibg3"
    android:orientation="vertical" >

    <ImageView
        android:layout_width="300dp"
        android:layout_height="158dp"
        android:background="@drawable/login_square" />

</LinearLayout>

我得到这个结果:

在此处输入图像描述

我还尝试让顶部的“9 条补丁线”和左侧更长,但这也会产生奇怪的伪影。

有任何想法吗?

- 编辑 -

我还尝试了这个 9-patch(来自 9patch-tool 的屏幕截图):

在此处输入图像描述

这给出了这个糟糕的结果(注意黑线):

在此处输入图像描述

---- 编辑 2 ----

Leonidos 告诉我 9-patch 太大了,不能缩小。所以我试了一下,结果同样糟糕。

这是 9 补丁(在此处下载文件)

在此处输入图像描述

这就是它的外观(注意黑线):

在此处输入图像描述

--- 编辑 3 ---

我查看了路径中的“显示坏补丁”,这就是显示的内容:

在此处输入图像描述

但这并不重要。如果我改变它,它看起来像这样:

在此处输入图像描述

我仍然得到黑色条纹!

哦为什么哦为什么!?=)

4

3 回答 3

2

使其尽可能小。9 贴片不能收缩,它们可以拉伸。用黑色填充右侧和底部边框。使用 draw9patch 工具编辑 9-patch 边界以防止错误。你的 9-patch 应该和这个类似。

于 2013-01-11T08:54:52.100 回答
1

1 像素边框必须是完全黑色(九个补丁标记)或完全透明。基本上,编辑图像以剪掉 1 像素边框中的任何内容,除了两个黑点。

此外,您的图像可以小得多。九个补丁的要点是顶部和左侧的标记标记要拉伸的内容。大多数带有直边的内容都可以删除。

于 2013-01-11T07:40:15.707 回答
1

尝试从所有 4 个面做 9 个补丁标记。还要确保你有 .9.png 文件扩展名(fi your_cool_pic.9.png)

这是我的例子 在此处输入图像描述

于 2013-01-11T01:43:54.890 回答