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

长按

  • 即可删除当前选中的项目
  • 使用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);
    }
    

    10-07 16:41