我正在使用此ArcMenu https://github.com/daCapricorn/ArcMenu
请检查github页面上的ArcMenu的代码和图像
此自定义视图以这种方式排列 - > ArcMenu [查看]有孩子 - > 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,而绘制的逻辑对于parentView和子视图是相同的。我希望彩色圆弧绘制在父视图后面而不是子视图(Imageviews)。
Rect尺寸为top = 0,left = 0,right = getMeasuredWidth(),bottom = getMeasuredHeight()。
当调用canvas.onDraw时,rect的左上角变为相对于child,即孩子的0,0而不是父。结果是孩子后面的彩色弧而不是父母。
我应该如何确保彩色弧线仅在父视图后面绘制?