Android 九补丁 - 仅允许可绘制背景的特定区域进行拉伸

Y.S*_*Y.S 5 android android-custom-view android-view android-drawable

如何创造一个View有三角形穿孔边界的?

在此处输入图片说明

到目前为止,我一直在使用背景可绘制对象来实现这一目标。当 的尺寸View固定时,这会起作用。现在我有一个情况的高度View不恒定,所以我需要在飞行高度可变的。我不能再使用固定高度的背景可绘制对象了。

这是原始背景可绘制:

在此处输入图片说明

这就是最终View需要的样子:

在此处输入图片说明

看待同一问题的另一种方式是,我们可以让图像的中心在不扭曲边界的情况下拉伸吗?如果我们能做到这一点,我们就可以使用现有的可绘制对象作为背景。

如何做到这一点?有没有其他人遇到过这个问题?该框架是否有处理此类问题的现有方法?

Kno*_*sos 2

您可以生成九个补丁的 png,而不是使用普通图像。

使用Simple Nine-patch Generator此。

诀窍是左侧的黑线。这告诉 Android 该 png 可以沿着该区域垂直扩展。

请看这个例子:

九个补丁示例

将其保存为九个补丁,格式为 imagename.9.png