我在Android中创建了一个自定义视图,需要使用canvas.clipPath
实现的弯曲边缘。这适用于剪切区域显示灰色背景颜色而不是透明的例外。
在此图像中,右手黑色是内容,应通过剪裁区域显示。绿色是视图,视图右侧的灰色是应该是透明的区域,例如,在这个例子中,灰色应该是黑色。
这是我的(Xamarin)代码:
public override void Draw(Canvas canvas)
{
var path = new Path();
path.AddRect(0,0,this.Width-100,this.Height, Path.Direction.Cw);
path.AddArc(new RectF(this.Width-200, -100, this.Width, this.Height+100), 270, 180);
canvas.ClipPath(path);
base.Draw(canvas);
}
是否可以使画布的剪裁区域透明?
(顺便说一句,我知道我不应该在Draw
中实例化对象,这只是为了简洁起见)
答案 0 :(得分:0)
我正在咆哮错误的树,所以如果没有其他信息,任何人都很难回答!
最左边的灰色实际上是正确的背景颜色。最右边的灰色是真灰色的暗灰色版本,因为曲面板实际上是一个隐藏在抽屉布局中的菜单,因此默认的Android调光正在发挥作用。