Android 具有剪裁边界的自定义形状布局

Android 具有剪裁边界的自定义形状布局,android,android-layout,Android,Android Layout,嗯,是的,到目前为止,我找不到任何能真正帮助我的东西。。。从堆栈溢出到库和其他内容 我需要一个定制的FrameLayout,把他的孩子夹在里面。问题是我希望这个形状是真正定制的,例如衬衫/帽子/等等.. 所以,我想把FrameLayout的孩子夹在衬衫里面。我找到了一些与onDraw方法相关的东西,但是我没有找到一种方法来获取向量的路径数据 欢迎任何关于我如何解决这个问题的清晰想法(如果可能的话) 谢谢您可以使用剪辑路径。您的代码可能类似于: private void updatePath()

嗯,是的,到目前为止,我找不到任何能真正帮助我的东西。。。从
堆栈溢出
和其他内容

我需要一个定制的
FrameLayout
,把他的孩子夹在里面。问题是我希望这个
形状
是真正定制的,例如
衬衫/帽子/等等..

所以,我想把
FrameLayout
的孩子夹在衬衫里面。我找到了一些与
onDraw
方法相关的东西,但是我没有找到一种方法来获取
向量的路径数据

欢迎任何关于我如何解决这个问题的清晰想法(如果可能的话)


谢谢

您可以使用剪辑路径。您的代码可能类似于:

private void updatePath() {
    path = new Path();
    // Draw your special shape...
}

@Override
protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
    canvas.clipPath(path);
    return super.drawChild(canvas, child, drawingTime);
}

@Override
protected void onDraw(Canvas canvas) {
    canvas.clipPath(path);
    super.onDraw(canvas);
}

是的,我看到了类似的情况,但我的问题(正如我所说)与路径本身有关。。。如何从
vector
或任何其他方式创建它?实际上,这个
路径
必须是衬衫的路径?你能分享一个输入向量的例子吗?事实上,我有一个包含它的XML文件,所以我在想它的
路径数据
不是那么简单,我不想谷歌让我们按照你想要的方式使用它。但是,本文可以帮助您将任何路径数据转换为
path
对象。理论上,您可以编写一个解析器,以编程方式转换pathData并实现自动化。因此,最后我应该编写自己的
pathData
字符串解析器。。我已经读过那篇文章了。好吧,谢谢你的帮助:)