我刚做了九个补丁
http://i41.tinypic.com/f4fk35.png
它从draw9补丁工具中保存为border.9.png。
在我的Android布局编辑器中,它显示出它将是一个合适的9补丁图形,伸展但不像素化。
http://i39.tinypic.com/28bsi69.png
然而在一个真实的设备上,它只是显示一个巨大的拉伸图像,看到9patch指南,它看起来非常糟糕
http://i42.tinypic.com/eoshe.png
怎么回事?以及如何解决它
我的xml:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/border"
android:orientation="vertical"
android:padding="35dip" >
答案 0 :(得分:10)
我遇到了同样的问题:Eclipse中的一切都运行正常,但是设备上的所有内容都是如此。 我通过打开Draw 9-patch tool中的PNG解决了这个问题。 只需打开png并保存即可!
答案 1 :(得分:6)
您可以找到有关如何创建9.patch here
的所有必要信息你的背景应该是这样的
注意:底部和右侧的标记需要绘制为完整的线条,而不是单个点。
修改强>
似乎在此处上传9.patch变得更改,并且不能再用作9.patch。
您可以从here
答案 2 :(得分:4)
这对我来说看起来像无效的9.ptach文件。底部和右侧应该有坚实的区域。
答案 3 :(得分:3)
作为最后的手段,每当你很难获得9补丁时,我发现最好只在你的成像软件中制作一个全新的图像文件,复制除4 1以外的所有补丁。原始图像的像素边框,然后粘贴到新图像文件中。有时无论你删除多少4个边缘,设备/模拟器仍然无法将其识别为9补丁,即使(这应该是Android SDK开发团队可能会关注的)它完全没问题9 -patch在Eclipse的图形布局中。
另请注意,右边和底边的黑线是可选的。它们指定“填充”,特别是内容(具有9个补丁背景的父级的子代)适合的区域。
答案 4 :(得分:1)
我花了几个小时才弄清楚,为什么我的九个补丁没有正确显示。
原因很简单。我的九个补丁图像存储在:
/res/drawable
而不是
/res/drawable-xxx