自定义安卓拖拽动画排序ViewGroup

本文介绍如何使用OnDragListener和ViewDragHelper在安卓应用中实现拖拽排序功能。OnDragListener适用于简单的拖放操作,而ViewDragHelper更适合在自定义ViewGroup中进行复杂的拖拽交互。拖拽的核心是通过创建屏幕顶层的拖拽图像或实时更新被拖拽视图的位置。
摘要由CSDN通过智能技术生成

本代码通过OnDragListener实现安卓的拖拽。

OnDragListener
API 11 加⼊入的⼯工具类,⽤用于拖拽操作。
使⽤用场景:⽤用户的「拖起 -> 放下」操作,重在内容的移动。可以附加拖拽数据 不不需要写⾃自定义 View,使⽤用 startDrag() / startDragAndDrop() ⼿手动开启拖拽
拖拽的原理理是创造出⼀一个图像在屏幕的最上层,⽤用户的⼿手指拖着图像移动
OnDragListener 内部只有⼀一个⽅方法:onDrag()
onDragEvent() ⽅方法也会收到拖拽回调(界⾯面中的每个 View 都会收到)

ViewDragHelper
2015 年年的 support v4 包中新增的⼯工具类,⽤用于拖拽操作。
使⽤用场景:⽤用户拖动 ViewGroup 中的某个⼦子 View
需要应⽤用在⾃自定义 ViewGroup 中调⽤用 ViewDragHelper.shouldInterceptTouchEvent() 和 processTouchEvent(),程序会⾃自动开启拖拽
拖拽的原理理是实时修改被拖拽的⼦子 View 的 mLeft, mTop, mRight, mBottom 值
在这里插入图片描述

package com.aiyuba.drag;

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.DragEvent;
import android.view.View;
import android.view.ViewGroup;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值