您的位置:首页 > 移动开发 > Android开发

坑爹的Android4.4,难道我发现了系统BUG?高手来看一下

2017-01-02 10:39 281 查看
先说我遇到的问题,在GridLayout里面,我添加了多个派生自RelativeLayout的子控件。。。总的来说,监听TouchListener,可以拖动这些子控件中的某一个,(我手指拖到哪儿,被选中的子控件跟着动)

在之前,真机测试好好的,现在手机换成Android4.4版本了,发现拖不动了(两个4.4的手机都不行), 我怀疑是有一句代码出了问题,但是网上度了,谷了都找不到答案。。求高手


case MotionEvent.ACTION_MOVE:    

int dx =(int)event.getRawX() - lastX;  // lastX 和 lastY是成员变量,用来记录上次执行Move的位置

int dy =(int)event.getRawY() - lastY;

int left = 0;

int top = 0;

int right = 0;

int bottom = 0;

//如果按下时的坐标和当前移动到的位置的坐标差的绝对值大于子视图可移动的距离则修改为正在拖动

left = vP.getLeft() + dx;

top = vP.getTop() + dy;

right = vP.getRight() + dx;

bottom = vP.getBottom() + dy;

vP.layout(left, top, right, bottom);   // 感觉就是这句话执行了不生效,导致拖不动

lastX = (int) event.getRawX();

lastY = (int) event.getRawY();

break;


上面这一段是TouchListener里面响应Move事件的代码,我认为就是上面注释的那句话有问题,各位看看,有没有解决办法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: