加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Android上拖放效果的达成

发布时间:2021-11-24 21:11:15 所属栏目:教程 来源:互联网
导读:想在Android上实现拖放并没有快捷方法,因为Android没内嵌这个功能,只有自己动手写。 在Android上,触摸事件由一系列事件构成。首先,用户将手指放在屏幕的一个元素上,该元素接收到一个ACTION_DOWN事件。然后,用户保持手指在屏幕上,将手指移动到一个新的
想在Android上实现拖放并没有快捷方法,因为Android没内嵌这个功能,只有自己动手写。
 
在Android上,触摸事件由一系列事件构成。首先,用户将手指放在屏幕的一个元素上,该元素接收到一个ACTION_DOWN事件。然后,用户保持手指在屏幕上,将手指移动到一个新的位置。该元素接收到一系列ACTION_MOVE事件。最后,用户拿起手指,这时,该元素接收到一个ACTION_UP事件。
 
Android上的touch事件有两个重要的特点:一.touch事件会被转移。如果一个子控件在它的onTouchEvent句柄中返回false,它将忽略第一个事件(ACTION_DOWN),而父级的onTouchEvent举办将接收此事件,除非其中一个祖先控件同意处理该事件或者是事件到达根控件,不然这个激活的事件将一直被传播;二.父级可以在子控件的onTouchEvent句柄被激活前拦截触摸事件。可以通过重载父级的onInterceptTouchEvent方法,并返回true来实现这点。结果是,子控件的onTouchEvent句柄将被忽略,而父级的onTouchEvent将被激活。
 
下图表示touch事件转移的过程:
 
 
我们需要在父级和子级控件中设置onTouchEvent句柄。在子级句柄中,我们将子元素保存为将被拖动的项,并返回false,这样一系列的子事件将被传达到父级句柄。在父级句柄中,我们改变子视图的边来适应手指的位置,这样子视图就可以跟随我们的手指移动了。
 
 

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读