我想创建一个自定义搜索栏。与其他资源一起,我遵循了以下两个例子:
http://developer-dot-android.blogspot.ro/2012/03/custom-seekbar-tutorial.html
http://www.mokasocial.com/2011/02/create-a-custom-styled-ui-slider-seekbar-in-android/
http://code.google.com/p/android-apktool/wiki/9PatchImages
我尝试过的所有内容都崩溃了:
........
<nine-patch
xmlns:android="http://schemas.android.com/apk/res/android"
android:dither="true"
android:src="@drawable/whitepatch">
</nine-patch>
使用:
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #5: <nine-patch> requires a valid 9-patch source image
04-16 15:46:45.242: E/AndroidRuntime(20508): at android.graphics.drawable.NinePatchDrawable.inflate(NinePatchDrawable.java:320)
04-16 15:46:45.242: E/AndroidRuntime(20508): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881)
04-16 15:46:45.242: E/AndroidRuntime(20508): at android.graphics.drawable.LayerDrawable.inflate(LayerDrawable.java:165)
.....
我尝试使用来自sdk的draw9patch.bat
工具生成我自己的9补丁图片described here.(没有任何其他解决方法,因为我不知道如何,只需导入.png
然后将其另存为.9.png
)。
我尝试将第一个教程中使用的whitepatch.9.png
复制/粘贴到我的项目中。
结果相同。我真的不知道该怎么做。请帮帮我!
答案 0 :(得分:0)
Nine Patch Image是一张PNG图像,扩展名为9.png。 Nine Patch图像包含有关可缩放区域(顶部和左侧)和内容区域(右侧和底部)的元信息。您必须通过在顶部和左侧标记1个像素(黑色)来提及强制可缩放区域,不包括在缩放时失真的角落,否则Android将无法将其识别为九个补丁图像。
以下链接将更有帮助
http://radleymarx.com/blog/simple-guide-to-9-patch/
http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch
https://github.com/chrislondon/9-Patch-Image-for-Websites/wiki/What-Are-9-Patch-Images
http://www.androiddom.com/2011/05/android-9-patch-image-tutorial.html