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短视频源码,按钮拖拽相关的代码, 更多内容欢迎关注之后的文章

目录
相关文章
|
17天前
|
JavaScript PHP 数据安全/隐私保护
乞丐在线要饭系统PHP网站源码
在这个物欲横流、竞争激烈的时代,有时候我们真心觉得钱来得太不容易,甚至连最基本的生存都成了负担。于是,我们想出了一个特别“独特”的点子:用利息砸我,给我点施舍!
41 1
|
26天前
|
前端开发 PHP 数据库
原生PHP网站源码
原生PHP网站通常指的是使用纯PHP代码编写的网站,没有使用框架或者类库来简化开发流程。
28 1
|
1月前
|
前端开发 JavaScript 小程序
前端uni开发后端用PHP的圈子系统该 如何做源码?
圈子系统系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包生成APP
|
1月前
|
前端开发 JavaScript PHP
Thinkphp在线客服系统源码多语言外贸版_PHP客服系统源码Uniapp开发搭建+论文设计
Thinkphp在线客服系统源码多语言外贸版_PHP客服系统源码Uniapp开发搭建+论文设计
|
2月前
|
PHP
PHP全自动采集在线高清壁纸网站源码
PHP全自动采集在线高清壁纸网站源码,PHP全自动采集在线高清壁纸网站源码,一款开源壁纸源码,无需安装。集合360壁纸,百度壁纸,必应壁纸,简单方便。每天自动采集,自动更新,非常不错,php源码 网站源码 免费源码 自动采集。
55 3
|
2月前
|
PHP 数据库
2024表白墙PHP网站源码
2024表白墙PHP网站源码
43 1
|
3月前
|
前端开发 关系型数据库 MySQL
最新黑名单查询录入系统PHP网站源码
最新黑名单查询录入系统PHP网站源码 前端html 后端layui 操作部分都采用API接口的方式实线 集结了layui表格的多数据操作,添加,批量删除,分页,单项删除 后台数据修改采用绑定参数的形式来进行修改可以很好的预防数据库注入,当然如果你想要测试这个防注入的你也可以尝试一下 PHP版本70+ 数据库Mysql 5.6 上传程序访问 http://你的域名/install 安装
95 0
|
PHP
PHP短视频源码,实现圆形波浪图
PHP短视频源码,实现圆形波浪图
1438 0
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
2月前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
138 9