所以我尝试了9补丁图像。我开始使用PNG文件,我有一个带圆角的半透明方块:
然后,我创建了9个补丁,就像这样(注意顶部和左侧的小点):
我认为这足以解决这个问题,但是当将这个9补丁添加到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-patch-lines”,但这也会产生奇怪的伪影。
有什么想法吗?
- 编辑 -
我也试过这个9补丁(9patch-tool的屏幕截图):
给出了这个不好的结果(注意黑线):
----编辑2 ----
Leonidos告诉我,9补丁太大了,他们不能减小尺寸。所以我尝试了同样糟糕的结果。
这是9补丁(下载文件here)
这就是它的外观(注意黑线):
---编辑3 ---
我看了一下pathtoo中的“show bad patches”,这就是显示的内容:
但它并不重要。如果我改变它,它看起来像这样:
我仍然得到黑色条纹!
哦为什么哦为什么!? =)
答案 0 :(得分:2)
尽量缩小。 9-patch不能收缩它们可以伸展。用黑色填充右下边框。使用draw9patch工具编辑9个补丁边框以防止错误。您的9补丁应该与this one类似。
答案 1 :(得分:1)
尝试从所有4个边做9个补丁标记。另外,请确保你有.9.png文件扩展名(f.i. your_cool_pic.9.png)
这是我的例子
答案 2 :(得分:1)
1像素边框必须全黑(九个贴片标记)或完全透明。基本上,编辑图像以剪切1像素边框中的任何内容,除了两个黑点。
此外,您的图像可以更小,更小。九个补丁的要点是顶部和左侧的标记标记要拉伸的内容。大多数具有直边的内容都可以删除。