Android View拖拽startDragAndDrop,Kotlin

Android View拖拽startDragAndDrop,Kotlin

Kotlin 复制代码
import android.os.Bundle
import android.util.Log
import android.view.DragEvent
import android.view.View
import android.view.View.OnDragListener
import android.view.View.OnLongClickListener
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity


class MainActivity : AppCompatActivity() {
    private val TAG = "fly"

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val imageView = findViewById<ImageView>(R.id.image)
        imageView.setOnLongClickListener(object : OnLongClickListener {
            //这里选择长按事件触发拖拽
            override fun onLongClick(v: View?): Boolean {
                Log.d(TAG, "onLongClick")

                val builder = View.DragShadowBuilder(imageView)
                imageView.startDragAndDrop(
                    null,
                    builder,
                    null,
                    0
                )

                return true //true,触发系统其他组件继续处理拖拽接下的动作。
            }
        })

        imageView.setOnDragListener(object : OnDragListener {
            override fun onDrag(v: View?, event: DragEvent?): Boolean {
                when (event?.action) {
                    DragEvent.ACTION_DRAG_STARTED -> Log.d(TAG, "DragEvent.ACTION_DRAG_STARTED")
                    DragEvent.ACTION_DRAG_ENTERED -> Log.d(TAG, "DragEvent.ACTION_DRAG_ENTERED")
                    DragEvent.ACTION_DRAG_ENDED -> Log.d(TAG, "DragEvent.ACTION_DRAG_ENDED")
                }

                return true //true,已正确处理onDrag事件。
            }
        })
    }
}

长按ImageView以后,拖拽ImageView,ImageView随手指移动:

Android ViewDragHelper:控制子View垂直方向拖曳不能越界(3)-CSDN博客Android ViewDragHelper:控制子View垂直方向拖曳不能越界(3)附录文章1简单介绍了Android ViewDragHelper的使用,附录文章2介绍了如何控制ViewDragHelper在水平方向上拖曳不会被拖曳出边界,以及那些子view可以被拖曳,那些子view不能被拖曳。但是还有一些遗漏问题尚未解决:垂直方向的拖曳。本文再附录文章2的基础加以改进,控制子https://blog.csdn.net/zhangphil/article/details/51180017Android手势缩放图片以及图片黏贴在手指随手势移动_android 图片缩放跟随手指的例子-CSDN博客一个Android手势缩放图片的工具类;同时,此类还实现另外一个功能:当手指按在触屏上移动时候,图片"黏贴"在手指上随手指移动而整体移动。具体使用方法可以是这样:先new一个此类的实例,然后在ImageView的方法setOnTouchListener(new ImageViewOnMultiTouchListener());例如:ImageViewOnMultiTouchListen_android 图片缩放跟随手指的例子https://blog.csdn.net/zhangphil/article/details/43965701

Android DynamicGrid:拖曳交换位置_android 拖拽交换位置-CSDN博客Android DynamicGrid:拖曳交换位置Android DynamicGrid是一个第三方开源项目,DynamicGrid在github上的项目主页是:https://github.com/askerov/DynamicGrid它实现在一个网格布局内,拖曳任意子view实现动态的交换位置,这很类似手机的桌面,手机桌面的图标,均可自由拖曳实现摆放位置的交换,如动图所示:_android 拖拽交换位置https://blog.csdn.net/zhangphil/article/details/51602008

相关推荐
JMchen3 分钟前
集成第三方 C/C++ 库到 Android NDK 项目:OpenCV 与 FFmpeg 实战指南
android·opencv·cmake
有毒的教程2 小时前
Dev-C++ 使用扩展库两种方式:DevPak一键安装 / 手动配置(重点)
android·c++·adb
mmsx2 小时前
Android 测绘数值基础:测量单位系统与七四参数、高程拟合
android
郑州光合科技余经理2 小时前
出海外卖平台:支付对接为什么要和下单收款分开
android·java·开发语言·前端·后端·php·ai编程
夜雪一千2 小时前
MySQL 如何提高查询速度:从索引、SQL、表结构到实战调优
android·sql·mysql
终端安全笔记3 小时前
配置锁状态那一栏查的是什么:报告里几项各自指向什么风险
android·前端·安全·ios
恋猫de小郭3 小时前
Kotlin Toolchain 0.13,JetBrains 推荐 KMP 都切换到到全新工具链
android·前端·flutter
安卓机器3 小时前
rom定制系列------小米8 安卓16线刷原生固件 体验新版本
android·小米8安卓16
cyy2983 小时前
小米电视安装tts引擎
android·tv
小锋学长生活大爆炸3 小时前
【工具】在 Android 手机上运行 Docker
android·docker·智能手机