View上的onDraw()绘制了布局

时间:2011-01-28 11:47:26

标签: android gallery ondraw

好的,这是交易。我想在扩展库类中移动项目以更改图像的顺序。我现在这样做的方式:

    长按
  • 删除当前所选项目
  • 使用onDraw()绘制相同的图片,以便我可以使用onTouchEvent()
  • 移动它
  • on release再次添加该项目

这很好用,但问题是当使用onDraw()方法时,它会在图库项目后面绘制图像。有没有办法改变绘制的优先级?

1 个答案:

答案 0 :(得分:33)

我进入一个完全不同的方向后发现了这个= /

以下是具有相同问题的人的解决方案:

在构造函数(或初始化组件的任何其他位置)中设置setWillNotDraw(false)并覆盖dispatchDraw()dispatchDraw()绘制了ViewGroup个孩子,这样您就可以自己决定是否要在其他视图后面或顶部绘制。

取自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);
}