欢迎来到天天文库
浏览记录
ID:33416538
大小:143.21 KB
页数:6页
时间:2019-02-25
《android开发之drag&drop框架实现拖放手势烟台杰瑞教育android培训部原创》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、烟台杰瑞教育科技有限公司(Android开发培训部)版权所有Android开发之Drag&Drop框架实现拖放手势Android3.0提供了drag/drop框架,利用此框架可以实现使用拖放手势将一个view拖放到当前布局中的另外一个view中。本文将介绍如何使用拖放框架。一、实现拖放的步骤首先,我们先了解拖放过程,从官方文档可知,拖放过程共分为4个步骤,具体如下:1、 Started:启动拖放,主要是调用被拖放View的startDrag方法。此方法原型为:publicfinal boolean startDrag(ClipData data,
2、View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags)启动后,系统生成拖放阴影并发送action为ACTION_DRAG_STARTED的拖放事件到当前布局中已经设置了拖放监听的View。2、 Continuing:保持拖动状态。在此过程中系统可能会发送一个或多个拖动事件给设置了拖放监听器的View,比如ACTION_DRAG_ENTERED、ACTION_DRAG_LOCATION等。3、 Dropped:用户在目标区域内释放拖动阴影,
3、系统会向设置了拖放监听器的View发送action为ACTION_DROP的事件。4、 Ended:用户释放了拖动阴影,系统会向设置了拖放监听器的View发送action为ACTION_DRAG_ENDED事件,完成拖放。------杰瑞教育(www.jerehedu.com)专注IT技能培训打造一流人才服务平台------烟台杰瑞教育科技有限公司(Android开发培训部)版权所有二、拖放过程中关键的接口和类其次,我们要了解清楚拖放过程中的几个关键的接口和类,主要有OnDragListener、DragEvent、DragShadowBuilder、ClipData、Clip
4、Description等。1、OnDragListener:接口,拖放事件监听器。当发生Drag时,回调此接口中的方法。接口中只含有一个方法onDrag,方法原型为: boolean onDrag(View v, DragEvent event) 参数v:设置了监听器的View 参数event:拖放事件的参数,封装了拖放相关的数据 返回值:true-事件已处理;false事件未处理。2、DragEvent:拖放事件对象,根据action的不同,包含不同的事件数据。3、DragShadowBuilder:拖放阴影构造者对象,用于构造拖放阴影。4、ClipData、Clip
5、Description:用于拖放的移动数据。三、案例展示对以上内容有了基本了解后,我们来进行如下案例,首先看效果图------杰瑞教育(www.jerehedu.com)专注IT技能培训打造一流人才服务平台------烟台杰瑞教育科技有限公司(Android开发培训部)版权所有如图界面内共有两个区域,灰色区域和黄色区域,图标可在灰色区域内自由拖动,并可改变自己的位置,如下图 当图标进入或离开黄色区域时,将改变颜色,效果图如下------杰瑞教育(www.jerehedu.com)专注IT技能培训打造一流人才服务平台------烟台杰瑞教育科技有限公司(Android开发培训部)
6、版权所有四、案例实现下面我们看看具体如何实现:布局文件,代码如下:7、id="@+id/img"android:layout_width="wrap_content"android:layout_height="wrap_content"android:contentDescription="@null"android:src="@drawable/ic_launcher"/>
7、id="@+id/img"android:layout_width="wrap_content"android:layout_height="wrap_content"android:contentDescription="@null"android:src="@drawable/ic_launcher"/>
此文档下载收益归作者所有