Android 在9个补丁中带居中文本(图像的一部分)的图像?

Android 在9个补丁中带居中文本(图像的一部分)的图像?,android,nine-patch,Android,Nine Patch,我正在尝试为Android中的一个按钮创建一个9patch png,使用带有一些静态文本和图标的图像。我在sdk中使用了9补丁工具,但当我尝试使用生成的png时,会出现格式不正确的9补丁错误。这是一个图像,它看起来像在9补丁编辑器 这种情况可能吗(是因为我有太多补丁)还是我的问题是其他原因?基本上,我发现虽然可能,但有更好的解决方案(上面提到的解决方案,下面将详细介绍) 我最终选择了上面评论中提到的解决方案。创建九块背景/渐变,然后在左侧浮动图标,并将文本作为按钮本身的属性。效果很好 正如下面

我正在尝试为Android中的一个按钮创建一个9patch png,使用带有一些静态文本和图标的图像。我在sdk中使用了9补丁工具,但当我尝试使用生成的png时,会出现格式不正确的9补丁错误。这是一个图像,它看起来像在9补丁编辑器


这种情况可能吗(是因为我有太多补丁)还是我的问题是其他原因?

基本上,我发现虽然可能,但有更好的解决方案(上面提到的解决方案,下面将详细介绍)

我最终选择了上面评论中提到的解决方案。创建九块背景/渐变,然后在左侧浮动图标,并将文本作为按钮本身的属性。效果很好


正如下面的评论者所指出的,这实际上是可能的,只要你在补丁的右边或底部没有虚线。。。因此,如果您拍摄了我上面的图片,并删除了右下角和右下角的两条线,它就像一个符咒(我仍然会使用其他选项)

仅在背景中使用9补丁图片。使用
android:drawableLeft=“@drawable/my_drawable”添加文本和图标
用xml创建按钮。@安卓开发者是的,这就是我想我必须要做的。。。我真正想知道的是,这个场景是否可以使用9-patch,因为我的设计师只给了我一些图片。所以,你知道吗,在9补丁中是否可能?从来没有尝试过创建这样的图像,也许是可能的,但我不认为它在所有分辨率上都是一样的。因此,只需坚持使用9patch背景、图标和文本,而不是其中的一部分。这确实是“正确”的方式。原始图像格式不正确的原因是9patch的底部/右侧黑色边框线用于内容区域,而不是拉伸区域。对于这些,你只能有连续的行,而不能像以前那样一分为二。@Geobits这是有道理的,我在查看文档时没有看到这条规则,但现在我明白了:既然你提到了它,我不确定它是否真的在官方文档中。关于这件事的文件不是很完整。我只是从来没有见过一个工作与破碎的内容区域线的权利。我可能在某个地方的某个教程中读过,我不知道。@Geobits如果你的评论是一个答案,我会接受它,因为它比我的答案更像是一个答案:DNah,经过编辑,你的答案看起来不错。我的答案一开始不是答案,因为我不想推荐任何人使用这样的文本。分离是一种更干净的方法。