代码之家  ›  专栏  ›  技术社区  ›  Henrik

Android中的拖放重叠ImageView

  •  3
  • Henrik  · 技术社区  · 14 年前

    有没有可能有两层,其中第一层是代表电路板的ImageView网格。那么,是否有可能让磁贴也是一个ImageView,它可以“堆叠”在ImageView的上面,它代表了电路板?

    欢迎有任何好的设计想法!

    谢谢。

    /亨里克

    2 回复  |  直到 14 年前
        1
  •  3
  •   Henrik    14 年前

    覆盖视图中的事件:

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        super.onTouchEvent(event);
    
        if (!mEnable) {
            return false;
        }
    
        int action = event.getAction();
        int x = (int)event.getX();
        int y = (int)event.getY();
    
        switch (action) {
        case MotionEvent.ACTION_DOWN:
            onTouchActionDown(x, y);
            break;
        case MotionEvent.ACTION_MOVE:
            onTouchActionMove(x, y);
            break;
        case MotionEvent.ACTION_UP:
            onTouchActionUp(x, y);
            break;
        }
    
        return true;
    }
    

    然后在上/下两种情况下,只需使用坐标并重新绘制图像资源,即使视图无效。

    覆盖onDraw以绘制拖动的图形:

    @Override
    protected void onDraw(Canvas canvas)
       drawMyDragGfx();
    }
    
        2
  •  2
  •   Henrik    14 年前

    我做了一个超控 onDraw onTouchEvent 在我看来。我自己画的。