好的,这是交易。我想在扩展的图库类中移动项目以更改图像的顺序。我现在做的方式:
长按
onDraw()
绘制相同的图像,这样我就可以使用onTouchEvent()
来移动它这可以正常工作,但问题是,当使用
onDraw()
方法时,它将在图库项目后面绘制图像。有没有办法改变所画东西的优先级? 最佳答案
好吧,我在转向完全不同的方向之后发现了这个=/
这是遇到相同问题的人的解决方案:
在构造函数中(或在其他任何初始化组件的位置),设置setWillNotDraw(false)
并覆盖dispatchDraw()
。 dispatchDraw()
绘制ViewGroup
子项,以便您可以自己决定是要在其他 View 的后面还是顶部。
摘自Custom drawing on top of Gallery view (and it's child views)的示例
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
// do your drawing stuff here
canvas.drawPath(mPath,mPaint);
}