管教管教那些不听话的view
2016-02-23 19:28
260 查看
废话不多说,先上效果图。
![](http://img.blog.csdn.net/20160223191023455?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
呃 ,不好意思 不是这张,是这个。
![](http://img.blog.csdn.net/20160223191146909?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
就是受不了新建项目完,这货就猥琐的存在于右下角的那个旮沓里。叫它往西它不动,叫它往东它也不东。想起我这暴脾气,上去就是两巴掌,不给他点颜色看看,还真以为自己了不起了。
这里也教教大家怎么管教那些个不听话的。很简单,打他几下就搞定了。让他干啥他就老老实实的干啥。
方法很简单。setOnTouchListener 就好了。
// 1.
// 2. 这个要依赖nineoldandroids
项目地址:https://github.com/103style/MotionEvent
呃 ,不好意思 不是这张,是这个。
就是受不了新建项目完,这货就猥琐的存在于右下角的那个旮沓里。叫它往西它不动,叫它往东它也不东。想起我这暴脾气,上去就是两巴掌,不给他点颜色看看,还真以为自己了不起了。
这里也教教大家怎么管教那些个不听话的。很简单,打他几下就搞定了。让他干啥他就老老实实的干啥。
方法很简单。setOnTouchListener 就好了。
private int x0, y0, x1, y1;
// 1.
fab.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: x0 = (int) event.getX(); y0 = (int) event.getY(); break; case MotionEvent.ACTION_MOVE: x1 = (int) event.getX() - x0; y1 = (int) event.getY() - y0; fab.layout(fab.getLeft() + x1, fab.getTop() + y1, x1 + fab.getRight(), y1 + fab.getBottom()); //下面两句和上面一句式相同的道理。 // fab.offsetLeftAndRight(x1); // fab.offsetTopAndBottom(y1); break; case MotionEvent.ACTION_UP: break; } return true; } });
// 2. 这个要依赖nineoldandroids
scroll.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { x1 = (int) event.getRawX(); y1 = (int) event.getRawY(); switch (event.getAction()) { case MotionEvent.ACTION_MOVE: int x = x1 - x2; int y = y1 - y2; Log.e("Move", x + "," + y); int tx = (int) (ViewHelper.getTranslationX(scroll) + x); int ty = (int) (ViewHelper.getTranslationY(scroll) + y); ViewHelper.setTranslationX(scroll, tx); ViewHelper.setTranslationY(scroll, ty); break; } x2 = x1; y2 = y1; return true; } });
项目地址:https://github.com/103style/MotionEvent
相关文章推荐
- hrbust 2025 确定大小【floyd递推关系过】
- 源代码管理工具SVN的使用(三)(命令行)
- MoviePlayerViewController
- AngularJS如何下载Excel文件
- 重构中对设计模式的反思
- Eclipse快捷键整理
- gcc与g++编译链接库文件兼容性
- Python练习-- List Comprehensions
- Linux下安装maven
- iOS获取camera的yuv数据
- nagios
- java多线程(同步与死锁问题,生产者与消费者问题)
- 排序算法
- Android 多线程断点续传实现
- GDKOI2016总结
- dropDownList属性
- Twemproxy 支持的命令
- SQL Server XML数据解析(1)
- linux 查找文件内容及文件
- 基于Servlet&Jsp的网上书店设计(一)