我正在尝试使用Android SDK中的Draw9Patch工具,但是在使用Draw9Patch打开我的图像后,它立即将我的所有图像区域显示为"Bad Patch".我手动绘制了定义可伸展区域的线条,但我不确定这是否可以正常工作.有人可以解释为什么这个特定的图像不是一个"好补丁"?此问题的其他Stackoverflow答案似乎与我的问题无关,或者我不理解它们.

Android有一个很好的方法来定义称为九补丁的可伸缩图像.有关概念的说明,请参阅这些文档.我们的想法是围绕一个带有1像素边框的png图像,您可以在其中定义可伸展区域和图像的填充尺寸.这绝对是非常棒的,我想在我的iPhone应用程序中使用这个想法.在将我自己的9补丁写入UIImage加载器之前,我想我会看看是否已经存在.谷歌没有回复任何结果,所以我没有太多的希望,但问一下并不痛苦,对吧?:-)
编辑:伙计们,我很欣赏答案,但我知道stretchableImageWithLeftCapWidth....我正在寻找采用路径@"foo.9.png"并返回可伸缩的代码UIImage.这段代码无疑会在stretchableImageWithLeftCapWidth...内部使用.我确信我可以使用该方法自己编写代码.但是我问其他人是否已经做过了.
我正在尝试在Android上的Canvas对象上绘制九个补丁.奇怪的是,虽然我使用draw9patch工具生成了我的九个补丁,但NinePatch的构造函数需要一个额外的字节数组,称为"chunk"来构造九个补丁.
为什么这不简单?什么是"块"?如果你自己这样做了,你是怎么做到的?
任何帮助赞赏.
根据Android文档,我们知道左侧和顶部黑线定义了可伸展区域,而底部和右侧行定义了内容区域.
这很容易理解,但我在android-17框架中找到了名为textfield_activated_holo_dark.9.png的图片.左下角,右下角和右上角的红色是什么目的?

我们使用9png主要是为了减小apk的大小.但是,我面临着一个特殊的问题.我不确定在哪个文件夹中放置9pngs.我把它们放在HDPI文件夹中.由于Android是"聪明的",看起来如果我在MDPI手机中使用该应用程序,它会"缩放"9png,这会产生疯狂的效果.直到我在Galaxy笔记中尝试它之前,我没有遇到任何重大问题.看起来9png是从HDPI中取出并缩放的(Note有800x1280),它创造了奇怪的效果.
我想创建一个九补丁图像并在我的应用程序中使用它但我不知道如何创建它?
我在网上搜索了Android源代码,似乎无法找到任何这方面的例子.我需要一个教程,以便我能理解这个过程.
在我的应用程序中,我想将气泡设置为文本视图,在我添加的文本视图中setBackgroundResource(),您可以在代码中看到.
使用此代码我得到这样的图像:
我想要一个像这样的气泡形状图像:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#EDF5E4" />
<corners android:bottomLeftRadius="@dimen/corner_radius"
android:bottomRightRadius="@dimen/corner_radius"
android:topLeftRadius="@dimen/corner_radius"
id:topRightRadius="@dimen/corner_radius" />
Run Code Online (Sandbox Code Playgroud)
请告诉我如何在我的setBackgroundResource()XML中进行此操作.
在Draw 9-patch中,一切看起来都很好.但是,我的SDK说9补丁png格式不正确.因为我有类似11补丁png的东西.因为我不希望缩小抓取区域.如何让它工作?截图描述了一切:

控制台中的错误消息:
ERROR: 9-patch image /res/drawable-hdpi/top_complete.9.png malformed.
Can't have more than one marked region along edge.
Found at pixel #10 along bottom edge.
ERROR: Failure processing PNG image /res/drawable-hdpi/top_complete.9.png
Run Code Online (Sandbox Code Playgroud) 提供的实用程序看起来很糟糕,例如它不允许执行"另存为",或者绘制具有类似切片的多个按钮状态.
是否有可能在Photoshop中绘制9.png?我注意到,生成的png只包含外边缘的黑色像素.这是什么标记切片?
如果黑色像素出现在两个相对的边缘怎么办?
在android上显示外边缘是否被切断?