做个地图移动,想的是移动地图然后刷新屏幕中心点的经纬度再后面根据这个经纬度刷新显示地图,新手,自己捣鼓出的移动效果是这样的,。。感觉把整个画布都移动了因为黑色的区域部分触摸没有反应。模拟器和真机上运行都是这样的,效果图如下,各位高手看看这个事哪里的问题?要是想实现我要的效果应该怎么改?求达人相助!!!!!!!!!移动部分的代码也贴出来,如下:public boolean onTouch(View v, MotionEvent event) { 
            switch (event.getAction()) { 
            case MotionEvent.ACTION_DOWN: 
                lastX = (int) event.getRawX(); 
                lastY = (int) event.getRawY(); 
                break; 
            case MotionEvent.ACTION_MOVE: 
                int dx = (int) event.getRawX() - lastX; 
                int dy = (int) event.getRawY() - lastY; 
 
                int left = v.getLeft() + dx; 
                int top = v.getTop() + dy; 
                int right = v.getRight() + dx; 
                int bottom = v.getBottom() + dy;
                   v.layout(left, top, right, bottom);   
                break; 
            case MotionEvent.ACTION_UP: 
                break; 
            } 
            return true; 
        } 
    };
图,第一个是没移动的时候,第二个事移动时出现的样子

解决方案 »

  1.   

    我发现是不是不应该用layout???因为我要实现的是在拖动后恢复一些参数,如屏幕中心点一类的求指导啊
      

  2.   

    这你妹的csdn 一开始能看到的啊  我补救下
      

  3.   

    知道问题了,不是你说的那个问题,我把整个画布都移动了,不应该用layout的,应该弄个偏移量,让每个图片都同时移动 这样就实现同步移动了~