自定义frameLayout ontouch 移动的问题

downice downice 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
突然boss有个需求,要移动按钮~,自定义排序。因为本身的frameLayout就是自动生成的,所以....
网上看了一些关于图片移动的,搬上去之后无法使用,因为我所要移动的frameLayout是自动生成的,而且是生成在某一个FrameLayout里面的。根据已有的图片的例子,突发奇想,然后....看代码先。
this.setOnTouchListener(new OnTouchListener() {
int tempX = 0;
int tempY = 0;
int startX =0;
int startY = 0;
@Override
public boolean onTouch(View v, MotionEvent event) {
int actionType = event.getAction();
switch (actionType) {
case MotionEvent.ACTION_DOWN:
startX = (int)event.getRawX();
startY = (int)event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
tempX = (int)event.getRawX();
tempY = (int)event.getRawY();
FrameLayout.LayoutParams f = new FrameLayout.LayoutParams(HwStatic.hwbuttonshowwidth, HwStatic.hwbuttonshowheight);
int maleft = marginLeft+tempX-startX;
int matop = marginTop+tempY-startY;
f.setMargins(maleft, matop, 0, 0);
thisView.setLayoutParams(f);
break;
case MotionEvent.ACTION_UP:
break;
default:
break;
}
return false;
}
});
}

想法,按下的时候记录 起始位置...startX和startY,移动的时候记录tempX和tempY,因为我本身在生成thisview的时候,就是只定义了 left和top。。。。但是结果报错。。
Check that graphics HAL is generating vsync timestamps using the correct timebase.

求解~~我该如何做,第一次做控件移动~
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
downice
Android 80,490 成员 91,375 内容