PHP短视频源码,按钮拖拽

简介: PHP短视频源码,按钮拖拽
bt.setOnTouchListener(object : OnTouchListener {
            //上次view的坐标位置
            internal var lastX: Int = 0
            internal var lastY: Int = 0
            var moveX = 0
            var moveY = 0
            var btnHeight = 0
            var btnWith = 0
            override fun onTouch(v: View, event: MotionEvent): Boolean {
                // TODO Auto-generated method stub
                val ea = event.action
                Log.i("TAG", "Touch:$ea")
 
                when (ea) {
                    MotionEvent.ACTION_DOWN -> {
                        //按下记录view坐标
                        lastX = event.rawX.toInt()
                        lastY = event.rawY.toInt()
                        btnHeight = bt.height
                        btnWith = bt.width
                    }
 
                    MotionEvent.ACTION_MOVE -> {
 
                        //移动时记录相对上次的坐标
                        val dx = event.rawX.toInt() - lastX
                        val dy = event.rawY.toInt() - lastY
 
                        moveX = dx
                        moveY = dy
                        //相对于parent 的View上下左右位置
                        var left = v.left + dx
                        var top = v.top + dy
                        var right = v.right + dx
                        var bottom = v.bottom + dy
 
                        //如果left < 0,则是左移,右边框上次位置加上左移部分
                        if (left < 0) {
                            left = 0
                            right = left + v.width
                        }
 
                        //
                        if (right > screenWidth) {
                            right = screenWidth
                            left = right - v.width
                        }
 
                        //如果top < 0,则是上移,下边框上次位置加上移部分
                        if (top < 0) {
                            top = 0
                            bottom = top + v.height
                        }
 
                        if (bottom > screenHeight) {
                            bottom = screenHeight
                            top = bottom - v.height
                        }
 
                        //重新layout
                        v.layout(left, top, right, bottom)
 
                        Log.i("", "position$left, $top, $right, $bottom")
 
                        lastX = event.rawX.toInt()
                        lastY = event.rawY.toInt()
                    }
                    MotionEvent.ACTION_UP -> {
                        isDrag = Math.abs(moveX) == 0 && Math.abs(moveY) == 0
 
                        // 向四周吸附
                        var dx1 = event.rawX - lastX
                        var dy1 =event.rawY - lastY
                        var left1 = v.left + btnWith/2  + dx1
                        var top1 = v.top + dy1
                        var right1 = v .right + dx1
                        var bottom1 = v .bottom + dy1
                        if (left1 < (screenWidth / 2)) {
//                            when {
//                                top1 < 100 -> v.layout(left1.toInt(), 0, right1.toInt(), btnHeight)
//                                bottom1 > (screenHeight - 200) -> v.layout(left1.toInt(), (screenHeight - btnHeight), right1.toInt(), screenHeight)
//                                else ->
//                                    v.layout(0, top1.toInt(), btnHeight, bottom1.toInt())
//                            }
                            v.layout(0, top1.toInt(), btnWith, bottom1.toInt())
                        } else {
//                            when {
//                                top1 < 100 -> v.layout(left1.toInt(), 0, right1.toInt(), btnHeight)
//                                bottom1 > (screenHeight - 200) -> v.layout(left1.toInt(), (screenHeight - btnHeight), right1.toInt(), screenHeight)
//                                else -> v.layout((screenWidth - btnHeight), top1.toInt(), screenWidth, bottom1.toInt())
//                            }
                            v.layout((screenWidth - btnWith), top1.toInt(), screenWidth, bottom1.toInt())
                        }
                    }
                }
                return false
            }
        })

以上就是PHP短视频源码,按钮拖拽相关的代码, 更多内容欢迎关注之后的文章

目录
相关文章
|
10天前
|
前端开发 安全 Java
响应式企业网站源码JavaL/PHP带后台管理​:Bootstrap HTML5模板
本指南深度解析基于Java/PHP双引擎与Bootstrap HTML5的响应式企业官网开发全流程,涵盖架构设计、后台管理、数据库规范、安全加固及云原生部署,助力企业实现品牌展示、业务转化与运营闭环,推动数字化转型。
|
10天前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
12天前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
2月前
|
小程序 安全 关系型数据库
专业打造一款圈子源码软件系统 / 后端 PHP 搭建部署一样实现利益化
本教程详解基于PHP后端与Uni-app的小程序开发全流程,涵盖技术选型、环境搭建、源码导入、接口对接及功能实现。采用Laravel/Symfony框架,结合MySQL/PostgreSQL数据库,使用WebSocket实现实时通信,并集成IM SDK实现音视频聊天。前端使用Uni-app开发,支持跨平台运行。教程包含完整部署流程与安全优化方案,助力快速搭建高性能、安全稳定的小程序系统。
175 5
|
2月前
|
存储 缓存 安全
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
115 2
|
2月前
|
运维 安全 数据可视化
采用PHP+Vue技术架构的不良事件管理系统(源码)
本系统为医院安全(不良)事件管理工具,支持快速上报、流程化处理与多维度分析,助力识别风险、优化管理。采用PHP+Vue技术架构,功能涵盖事件上报、追踪整改、数据统计及PDCA改进等。
118 0
|
PHP 容器
一个Form中2个按钮,PHP后台如何判断提交的是哪一个按钮
方法一: ................................ 审核通过 审核不通过 ...
943 0
|
12天前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
100 0
PHP和Mysql前后端交互效果实现
|
5月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
292 17