好的,这是交易。我想在我的扩展图库类中移动项目以更改图像的顺序。我现在这样做的方式:
- 长按删除当前选定的项目,
- 用于
onDraw()
绘制相同的图像,因此我可以使用onTouchEvent()
- 在发布时再次添加项目
这很好用,但问题是当使用该onDraw()
方法时,它会在画廊项目后面绘制图像。有没有办法改变绘制的优先级?
好吧,我在进入完全不同的方向后发现了这一点=/
以下是有同样问题的人的解决方案:
在构造函数(或初始化组件的其他任何地方)中设置setWillNotDraw(false)
和覆盖dispatchDraw()
。dispatchDraw()
绘制ViewGroup
孩子,因此您可以自己决定是否要在其他视图的后面或顶部绘制。
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
// do your drawing stuff here
canvas.drawPath(mPath,mPaint);
}