You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

检测触摸何时结束于UI元素之上

在Android中,可以使用View.OnTouchListener接口来检测触摸事件,并判断触摸是否结束于UI元素之上。下面是一个示例代码:

import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = findViewById(R.id.button);
        button.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                int action = event.getAction();
                float x = event.getX();
                float y = event.getY();

                switch (action) {
                    case MotionEvent.ACTION_DOWN:
                        // 触摸开始
                        break;
                    case MotionEvent.ACTION_MOVE:
                        // 触摸移动中
                        break;
                    case MotionEvent.ACTION_UP:
                        // 触摸结束
                        if (isViewContains(button, x, y)) {
                            Toast.makeText(MainActivity.this, "触摸结束于按钮之上", Toast.LENGTH_SHORT).show();
                        } else {
                            Toast.makeText(MainActivity.this, "触摸结束于按钮之外", Toast.LENGTH_SHORT).show();
                        }
                        break;
                }

                return true;
            }
        });
    }

    private boolean isViewContains(View view, float x, float y) {
        int[] location = new int[2];
        view.getLocationOnScreen(location);
        int left = location[0];
        int top = location[1];
        int right = left + view.getWidth();
        int bottom = top + view.getHeight();
        return x >= left && x <= right && y >= top && y <= bottom;
    }
}

在示例代码中,我们首先找到要检测触摸的UI元素(这里是一个按钮),然后设置它的OnTouchListener。在onTouch方法中,我们根据触摸事件的不同动作(ACTION_DOWN、ACTION_MOVE、ACTION_UP)进行不同的处理。当触摸事件的动作为ACTION_UP时,我们调用isViewContains方法来判断触摸结束的位置是否在按钮之上。如果在按钮之上,则显示一个Toast提示"触摸结束于按钮之上",否则提示"触摸结束于按钮之外"。

isViewContains方法用于判断触摸点的坐标是否在指定的View的范围内。我们先获取View在屏幕上的位置,然后计算出View的左上角和右下角的坐标,最后判断触摸点的坐标是否在这个范围内。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

KubeWharf | 大规模K8S集群管理系统

而在云平台之上,机器节点的数量动辄达到百万规模,但是kubernetes官方表示单个kubernetes集群能稳定运行的机器节点规模在5K左右,超出规模之后kubernetes的存储系统、pod调度性能、容器请求路由性能等都会受到影响... 官方测试结果显示 KubeBrain on TiKV的读写性能是要高于ectd的,并且随着集群的扩展,和集群运行时间的积累,ectd的性能会有一定的减弱,而TiKV通过水平扩容,可以有效的降低性能的减弱,所以在大规模集群模式下,是可以选...

字节跳动云原生 Spark History 服务的实现与优化

体系之上。在 Spark 任务运行期间会产生大量包含运行信息的SparkListenerEvent,例如 ApplicationStart / StageCompleted / MetricsUpdate 等等,都有对应的 SparkListenerEvent 实现。所有的 event 会发送到Listene... History Server 采用回放解析 event log 的方式还原 Spark UI,有大量的计算开销,当任务较大就会有明显的响应延迟,响应延迟是指从用户发起前端访问到页面 UI 完全渲染出来的等待时长。作业结束之后,用户可能要等十几...

揭秘|UIService:字节跳动云原生 Spark History 服务

对于比较复杂或时间长的任务,event log 可以达到几十GB。**字节内部 7 天的 event log 占用约 3.2 PB 的 HDFS 存储空间。**### **1.2.2 回放效率差,延迟高**History Server 采用回放解析 event log 的方式还原 Spark UI,有大量的计算开销,当任务较大就会有明显的响应延迟,响应延迟是指从用户发起前端访问到页面 UI 完全渲染出来的等待时长。作业结束之后,用户可能要等十几分钟甚至半小时才能通过 History Server 看到作业历史...

揭秘|UIService:字节跳动云原生Spark History 服务

对于比较复杂或时间长的任务,event log 可以达到几十GB。 **字节内部7天的 event log 占用约 3.2 PB 的 HDFS 存储空间。**2. **回放效率差,延迟高**History Server 采用回放解析 event log 的方式还原 Spark UI,有大量的计算开销,当任务较大就会有明显的响应延迟,响应延迟是指从用户发起前端访问到页面 UI 完全渲染出来的等待时长。作业结束之后,用户可能要等十几分钟甚至半小时才能通过 History Server 看到作业历史。...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

检测触摸何时结束于UI元素之上-优选内容

KubeWharf | 大规模K8S集群管理系统
而在云平台之上,机器节点的数量动辄达到百万规模,但是kubernetes官方表示单个kubernetes集群能稳定运行的机器节点规模在5K左右,超出规模之后kubernetes的存储系统、pod调度性能、容器请求路由性能等都会受到影响... 官方测试结果显示 KubeBrain on TiKV的读写性能是要高于ectd的,并且随着集群的扩展,和集群运行时间的积累,ectd的性能会有一定的减弱,而TiKV通过水平扩容,可以有效的降低性能的减弱,所以在大规模集群模式下,是可以选...
字节跳动云原生 Spark History 服务的实现与优化
体系之上。在 Spark 任务运行期间会产生大量包含运行信息的SparkListenerEvent,例如 ApplicationStart / StageCompleted / MetricsUpdate 等等,都有对应的 SparkListenerEvent 实现。所有的 event 会发送到Listene... History Server 采用回放解析 event log 的方式还原 Spark UI,有大量的计算开销,当任务较大就会有明显的响应延迟,响应延迟是指从用户发起前端访问到页面 UI 完全渲染出来的等待时长。作业结束之后,用户可能要等十几...
更新日志
可调强度妆容 byted_effect v4.0.2.5通用特效版● 移动端-历史遗留问题修复● 新增触屏交互的接口,增加贴纸进行展示● 新增headSegment玩法,增加贴纸进行展示● 通用版移除3D试鞋贴纸● 技术侧 -Demo双语注释增加... 出现动画效果 byted_effect v4.0.1.1●增加 animoji 算法(RD自测)●基于 4010 新增 animoji 贴纸、ar 扫一扫贴纸●算法鉴权拆分功能完善(RD自测)●人体分割算法,采用大模型●bug 修复,视频模式下部分视频方向不对 ...
揭秘|UIService:字节跳动云原生 Spark History 服务
对于比较复杂或时间长的任务,event log 可以达到几十GB。**字节内部 7 天的 event log 占用约 3.2 PB 的 HDFS 存储空间。**### **1.2.2 回放效率差,延迟高**History Server 采用回放解析 event log 的方式还原 Spark UI,有大量的计算开销,当任务较大就会有明显的响应延迟,响应延迟是指从用户发起前端访问到页面 UI 完全渲染出来的等待时长。作业结束之后,用户可能要等十几分钟甚至半小时才能通过 History Server 看到作业历史...

检测触摸何时结束于UI元素之上-相关内容

干货 | 升级上线忐忑不安?来试试渐进式发布吧

这种做法建立在持续交付的核心原则之上,即将“代码部署”与“功能发布”分开。发布阶段授权是指在不同的阶段将功能的操作权限授权给不同的团队,比如将功能的所有权慢慢从工程转移到产品,然后从产品管理转移到营... 待所有功能开发完并通过完整的测试再合并到主干分支。CI/CD的目的就是为了加快软件的开发与部署速度与效率,将新的功能尽快部署上线,同时尽可能降低风险。虽然CI/CD能够加速软件与功能的交付速度,但是与之而来...

借助 MAD 助力你的 Android 应用开发|社区征文

终止所有子协程。KTX 活用了 Kotlin 的各种特性和语法糖 ,后面 Jetpack 章节会看到更多 KTX 的使用# 2. Android Jetpack![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d7efb60a58614df0a7615eaa6fc7a68e~tplv-k3u1fbpfcp-5.jpeg?)Android 通过 Jetpack 为开发者提供 AOSP 之上的基础能力支持,其范围覆盖了从 UI 到 Data 各个层级,降低了开发者们自造轮子的需求。近期 Jetpack 组件的架构规范又进行了全...

揭秘字节跳动云原生 Spark History 服务 UIService

我们实现了一套全新的云原生 Spark History 服务—— UIService,相比开源的 SHS,UIService 存储占用和访问延迟均降低 90% 以上,目前 UIService 服务已经在字节跳动内部广泛使用,并且作为火山引擎湖仓一体分析服务 ... 体系之上。在 Spark 任务运行期间会产生大量包含运行信息的 SparkListenerEvent,例如 ApplicationStart / StageCompleted / MetricsUpdate 等等,都有对应的 SparkListenerEvent 实现。所有的 event 会发送到 Liste...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

LAS Spark+云原生:数据分析全新解决方案

UIService:云原生 Spark History Server- Falcon:Remote Shuffle Service- 总结1. # Spark on K8S作为当今云原生基础设施的事实标准,Kubernetes 在 LAS Spark 中扮演着重要的角色。我们首先分享下 ... UIService 存储占用和访问延迟均降低 90% 以上。原生的 Spark History Service 建立在 Spark 事件(Spark Event)体系之上,在 Spark 任务运行期间会产生大量包含运行信息的 SparkListenerEvent,例如 ApplicationSt...

「火山引擎数据中台产品双月刊」 VOL.06

支持基于 UI & SQL 配置数据保留时间(TTL)及智能冷热类数据分层存储,根据分区创建时间或者表访问时间作为依据,用于数据的自动冷热分层及过期数据删除。 - 支持对列级别的数据设置脱敏规则,并提供针对用户的脱... 在敏感数据识别的基础之上隐私化,支持对敏感数据进行转换或者修改,防止敏感数据直接在不可靠的环境下使用,从而确保敏感数据泄露风险可控。 - 数据存储加解密:用户在 SQL 任务/数据集任务中对数...

干货 | 这样做,能快速构建企业级数据湖仓

即在数据湖的存储之上定义一个元数据,并跟数据一样保存在存储介质上面。这三者相似的需求以及相似的架构,导致了他们在演化过程中变得越来越相似。可以看到,三种数据格式都基本能覆盖绝大部分特性。![picture... 宣称在 tpcs 测试集上达到 2X 加速效果。* Presto:Velox native 引擎。Velox 引擎现在不太成熟,但是根据 Presto 社区官方说法,可以实现原来 1/3 的成本。由此可猜测,等价情况下能获得 3X 性能提升。除了以上...

客户端 SDK

支持回传触控事件(业务方可根据需要消费触控事件)。详细信息,参考 回传触控事件。 iOSiOS 端 SDK 包含以下新增功能和变更: 更新 “拉取文件数据”(startPullFile)接口,支持从云机实例下载文件到App沙盒路径下。详... 可通过指定可选参数 containerDomId 指定挂载 SDK 内部元素的 DOM 节点 ID。详细信息,参考 实例化 vePhoneSDK。 新增错误码 30014。详细信息,参考 错误码。 2023 年 4 月云手机客户端 SDK V1.23.0 版的发布说明如下...

Apache Pulsar 在火山引擎 EMR 的集成与场景

EMR 托管在火山引擎的基础设施之上,通过管控面将用户在控制台上的操作传递到用户集群内部。但是这个意义上的托管并不是“全托管”,而是“半托管”——用户有足够的自主性、灵活性,可以登录到自己集群的节点的命令行... =&rk3s=8031ce6d&x-expires=1714494070&x-signature=WAYrYaoqkWUia5VORGNHFrDNJ%2FY%3D) 点击跳转 [云原生开源大数据平台EMR]( ) 了解更多

干货|揭秘字节跳动对Apache Doris 数据湖联邦分析的升级和优化

=&rk3s=8031ce6d&x-expires=1714580435&x-signature=hBJsgOBQyfTuIi1VAGrlGgXPIJg%3D)### **/****Multi-Catalog的架构设计****/** 目前字节跳动的数据湖联邦分析架构采用 multi-catalog模式,由... 之上的操作,我们完全无需关心,因为 Scan 产生的这种 Block 数据可以直接被上层应用进行向量化查询。在 Scan 层面,我们也增强了基于代价的查询优化器,可以根据统计信息进行查询优化。 在算子优化方面,我们...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询