如何在自定义ViewGroup中的父视图后面绘制内容
我正在使用这个ArcMenu https://github.com/daCapricorn/ArcMenu
请在github页面上查看代码和ArcMenu的图像
此自定义视图按此方式排列 - > ArcMenu [View]有子项 - > ArcLayout [ViewGroup]有子项 - > ImageViews(用于保存菜单图标)
我正尝试在Arclayout后面绘制彩色弧线。 我在onDraw中这样做
protected void onDraw(Canvas canvas){// TODO自动生成的方法存根
if(isExpanded()){
Log.d("ArcLayout","onDraw(Canvas)");
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(colorOne);
paint.setAlpha(125);
canvas.drawArc(rect, startAngle, sweepAngle, true, paint);
//Dimensions of rect are set in OnMeasure
}
super.onDraw(canvas);
}
现在的问题是OnDraw被所有的孩子调用,并且绘制的逻辑对于父视图和子视图是相同的。 我想要在父视图后面绘制彩色弧,而不是孩子(Imageviews)。
矩形尺寸是top = 0,left = 0,right = getMeasuredWidth(),bottom = getMeasuredHeight()。
当调用canvas.onDraw时,rect的左上角相对于子对象,即子对象的0,0而不是父对象。 结果是孩子背后有一条彩色弧线,而不是父母。
我应该如何确保彩色弧线仅在父视图后面绘制?
链接地址: http://www.djcxy.com/p/31451.html上一篇: How to draw content behind parent View in Custom ViewGroup