当前位置: 首页 > news >正文

Android Event事件分发(新版本)

之前写过一个方案(添加链接描述),突然觉得很麻烦,于是有了新的方案:

首先先说要解决的问题: 当父布局能滑动,子View也能滑动,就会出现滑动冲突

解决思路:我们按下子View时,设置父布局不监听滑动事件,抬起子View时设置父布局继续监听滑动事件

比上一篇优点在哪:上一篇需要操作父类对象,很麻烦,这一篇可以直接在子View中完成任务。

第一步:在子View中添加这个方法

/**
* 设置父类监听或者不要监听触摸事件* 说明:这是一个简单粗暴的方法,请求所有的父布局全部监听或者全部不要监听触摸事件
* @param isDisallowInterceptTouchEvent
*/
public void requestParent(boolean isDisallowInterceptTouchEvent){ViewGroup parent=null;for (int k=0;k<15;k++){ //15代表你布局嵌套的层数,具体看你的布局复杂程度try {if (parent==null){parent = (ViewGroup) getParent();if (parent!=null){parent.requestDisallowInterceptTouchEvent(isDisallowInterceptTouchEvent);}}else {parent = (ViewGroup) parent.getParent();if (parent!=null){parent.requestDisallowInterceptTouchEvent(isDisallowInterceptTouchEvent);}}}catch (Exception e){}}
}

第一步:在子View的onTouchEvent中发出请求

 @Override
public boolean onTouchEvent(MotionEvent event) {if (event.getAction()==MotionEvent.ACTION_DOWN){requestParent(true);return true;}if (event.getAction()==MotionEvent.ACTION_UP) {requestParent(false);}return super.onTouchEvent(event);
}

此时,滑动子View时,就不会再收到父布局的影响了。

相关文章:

Android Event事件分发(新版本)

之前写过一个方案&#xff08;添加链接描述&#xff09;&#xff0c;突然觉得很麻烦&#xff0c;于是有了新的方案&#xff1a; 首先先说要解决的问题&#xff1a; 当父布局能滑动&#xff0c;子View也能滑动&#xff0c;就会出现滑动冲突 解决思路&#xff1a;我们按下子Vie…...

可控生成:ControlNet原理

🤗关注公众号funNLPer体验更佳阅读🤗 论文:Adding Conditional Control to Text-to-Image Diffusion Models 代码:lllyasviel/ControlNet 简单来说ControlNet希望通过输入额外条件来控制大型图像生成模型,使得图像生成模型根据可控。 文章目录 1. 动机2. ControlNet原理…...

【极客时间】MySQL 必知必会-20230901

03 | 表&#xff1a;怎么创建和修改数据表&#xff1f; 新增数据表 CREATE DATABASE demo;CREATE TABLE goodsmaster (barcode TEXT,goodsname TEXT,price DOUBLE, itemnumber INT PRIMARY KEY AUTO_INCREMENT);INSERT INTO demo.goodsmaster (barcode, goodsname,price) VAL…...

53 个 CSS 特效 3(完)

53 个 CSS 特效 3&#xff08;完&#xff09; 前两篇地址&#xff1a; 53 个 CSS 特效 153 个 CSS 特效 2 这里是第 33 到 53 个&#xff0c;很多内容都挺重复的&#xff0c;所以这里解释没之前的细&#xff0c;如果漏了一些之前的笔记会补一下&#xff0c;写过的就会跳过。…...

简单数学题:找出最大的可达成数字

来看一道简单的数学题&#xff1a;力扣2769. 找出最大的可达成数字 题目描述的花里胡哨&#xff0c;天花乱坠&#xff0c;但这道题目非常简单。我们最多执行t次操作&#xff0c;只需每次操作都让x-1&#xff0c;让num1&#xff0c;执行t次操作后&#xff0c;x就变为xt&#xff…...

[C++ 网络协议] 套接字的多种可选项

目录 1. 套接字的可选项 2. 获取/设置套接字可选项 2.1 getsockopt函数&#xff08;获取套接字可选项&#xff09; 2.2 setsockopt函数&#xff08;设置套接字可选项&#xff09; 3. 常用套接字可选项 3.1 SOL_SOCKET协议层的SO_TYPE可选项 3.2 SOL_SOCKET协议层的SO_SN…...

2022年03月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:数字变换 给定一个包含 5 个数字(0-9)的字符串, 例如 “02943”, 请将“12345”变换到它。 你可以采取 3 种操作进行变换 (1)交换相邻的两个数字 (2)将一个数字加 1。 如果加 1 后大于 9, 则变为 0 (3)将一个数字加倍。 如果加倍后大于 9,则将其变为加倍后的…...

***数据转换中常用的两个函数 sscanf,sprintf

1、sscanf将字符串转换成想要的整数或浮点数 (HMI屏中输入浮点数据,到mcu后要转换成对应的浮点数据) sscanf(“0.9”,“%f”,getData) /*! \brief 文本控件通知 \details 当文本通过键盘更新(或调用GetControlValue)时,执行此函数 \details 文本控件的内容以字符串形…...

软件工程(十九) 软件测试

软件测试主要了解软件测试的方法和软件的调试。 1、软件测试方法 1.1、测试基本思想 尽早、不断的进行测试 在V模型其实已经凸显出这种思想了程序员避免测试自己设计的程序 因为测试自己设计的程序,其实是不容易发现问题的,因为人从本质上都不愿意找自己的茬。而且由于你的…...

go中读写锁(rwmutex)源码解读实现原理

go读写锁的实现原理 1、RWMutex读写锁的概念 读写锁也就是我们所使用的RWMutex&#xff0c;其实是对于go本身的mutex做的一个拓展&#xff0c;当一个goroutine获得了读锁后&#xff0c;其他goroutine同样可以获得读锁&#xff0c;但是不能获得写锁。相反&#xff0c;当一个go…...

【人工智能】—_深度优先搜索、代价一致搜索、深度有限搜索、迭代深度优先搜索、图搜索

【人工智能】无信息搜索—BFS 、代价一致、DFS、深度受限、迭代深入深度优先、图搜索 什么是搜索 搜索问题是指既不能通过数学建模解决&#xff0c;又没有其他算法可以套用或者非遍历所有情况才能得出正确结果。这时就需要采用搜索算法来解决问题。搜索就是一种通过穷举所有解…...

uni-app 客服按钮可上下拖动动

项目需求&#xff1a; 因为悬浮客服有时候会遮挡住界面内容&#xff0c;故需要对悬浮的气泡弹窗做可拖动操作 movable-area&#xff1a;可拖动区域 movable-view&#xff1a;可移动的视图容器&#xff0c;在页面中可以拖拽滑动或双指缩放。 属性说明 属性名类型默认值说…...

基于Android的旅游管理系统 微信小程序

随着网络科技的发展&#xff0c;移动智能终端逐渐走进人们的视线&#xff0c;相关应用越来越广泛&#xff0c;并在人们的日常生活中扮演着越来越重要的角色。因此&#xff0c;关键应用程序的开发成为影响移动智能终端普及的重要因素&#xff0c;设计并开发实用、方便的应用程序…...

python-数据可视化-下载数据-CSV文件格式

数据以两种常见格式存储&#xff1a;CSV和JSON CSV文件格式 comma-separated values import csv filename sitka_weather_07-2018_simple.csv with open(filename) as f:reader csv.reader(f)header_row next(reader)print(header_row) # [USW00025333, SITKA AIRPORT, A…...

时序预测 | MATLAB实现SSA-XGBoost(麻雀算法优化极限梯度提升树)时间序列预测

时序预测 | MATLAB实现SSA-XGBoost(麻雀算法优化极限梯度提升树)时间序列预测 目录 时序预测 | MATLAB实现SSA-XGBoost(麻雀算法优化极限梯度提升树)时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 Matlab实现SSA-XGBoost时间序列预测&#xff0c;麻…...

leetcode 823 带因子的二叉树

用动态规划 如果两个节点值不同,要乘2&#xff0c;因为两个节点可以互换位置 dp[i] dp[left] * dp[right] * 2 如果相同 dp[i] dp[left] * dp[right] class Solution {public int numFactoredBinaryTrees(int[] arr) {Arrays.sort(arr);int n arr.length;long[] dp ne…...

钉钉消息已读、未读咋实现的嘞?

前言 一款app&#xff0c;消息页面有&#xff1a;钱包通知、最近访客等各种通知类别&#xff0c;每个类别可能有新的通知消息&#xff0c;实现已读、未读功能&#xff0c;包括多少个未读&#xff0c;这个是怎么实现的呢&#xff1f;比如用户A访问了用户B的主页&#xff0c;难道…...

Java 读取TIFF JPEG GIF PNG PDF

Java 读取TIFF JPEG GIF PNG PDF 本文解决方法基于开源 tesseract 下载适合自己系统版本的tesseract &#xff0c;官网链接&#xff1a;https://digi.bib.uni-mannheim.de/tesseract/ 2. 下载之后安装&#xff0c;安装的时候选择选择语言包&#xff0c;我选择了中文和英文 3.…...

研磨设计模式day14模板方法模式

目录 场景 原有逻辑 有何问题 解决方案 解决思路 代码实现 重写示例 模板方法的优缺点 模板方法的本质 何时选用 场景 现在模拟一个场景&#xff0c;两个人要登录一个系统&#xff0c;一个是管理员一个是用户&#xff0c;这两个不同身份的登录是由后端对应的两个接…...

7 集群基本测试

1. 上传小文件到集群 在hadoop路径下执行命令创建一个文件夹用于存放即将上传的文件&#xff1a; [atguiguhadoop102 ~]$ hadoop fs -mkdir /input上传&#xff1a; [atguiguhadoop102 hadoop-3.1.3]$ hadoop fs -put wcinput/work.txt /input2.上传大文件 [atguiguhadoop1…...

如何永久激活IDM?2024终极免费激活与试用重置完全指南

如何永久激活IDM&#xff1f;2024终极免费激活与试用重置完全指南 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script IDM Activation Script是一款专为Internet Dow…...

为什么 HDFS 文件一旦写入就不能修改,只能追加或删除(HDFS 设计哲学:一次写入,多次读取)

HDFS采用"一次写入&#xff0c;多次读取"的设计哲学&#xff0c;不支持文件内容修改。这种设计通过简化数据一致性机制、提高吞吐量和优化批处理场景性能&#xff0c;实现了高效的大数据处理。虽然不能直接修改文件&#xff0c;但支持追加、删除和覆盖操作。Hive等工…...

GitHub Desktop汉化工具:轻松掌握中文界面切换的完整指南

GitHub Desktop汉化工具&#xff1a;轻松掌握中文界面切换的完整指南 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 【GitHub桌面客户端中文汉化】 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为GitHub Desk…...

终极免费InfluxDB图形化管理工具:告别命令行的高效解决方案

终极免费InfluxDB图形化管理工具&#xff1a;告别命令行的高效解决方案 【免费下载链接】InfluxDBStudio InfluxDB Studio is a UI management tool for the InfluxDB time series database. 项目地址: https://gitcode.com/gh_mirrors/in/InfluxDBStudio 你是否厌倦了在…...

Ladybug终极指南:专业气象数据分析与可视化工具

Ladybug终极指南&#xff1a;专业气象数据分析与可视化工具 【免费下载链接】ladybug &#x1f41e; Core ladybug library for weather data analysis and visualization 项目地址: https://gitcode.com/gh_mirrors/lad/ladybug Ladybug是一个功能强大的Python库&#…...

早上好呀

早上好...

PPTist:零基础打造专业级在线演示文稿的完整指南

PPTist&#xff1a;零基础打造专业级在线演示文稿的完整指南 【免费下载链接】PPTist PowerPoint-ist&#xff08;/pauəpɔintist/&#xff09;, An online presentation application that replicates most of the commonly used features of MS PowerPoint, allowing for the…...

大模型转型AI工程师:小白必看学习路线,收藏这份成功秘籍!

本文作者分享了自己从零基础成功转型AI工程师的经历&#xff0c;强调学AI无需死磕算法和公式&#xff0c;关键在于掌握Python搭建AI智能体和Java项目迭代能力。文章提供三个月的学习路线&#xff0c;包括Python基础、Prompt技巧、RAG技术、知识库搭建、Agent搭建等&#xff0c;…...

Wireshark实战:从流量包里‘捞出’图片和压缩包的两种方法(附CTF解题步骤)

Wireshark实战&#xff1a;从流量包里‘捞出’图片和压缩包的两种方法&#xff08;附CTF解题步骤&#xff09; 在网络安全和数字取证领域&#xff0c;网络流量分析是一项基础但至关重要的技能。想象一下这样的场景&#xff1a;你正在调查一起数据泄露事件&#xff0c;或者参加…...

如何用嘎嘎降AI处理管理学论文:管理学研究生毕业论文降AI4.8元完整操作教程

如何用嘎嘎降AI处理管理学论文&#xff1a;管理学研究生毕业论文降AI4.8元完整操作教程 关于管理学论文降AI教程&#xff0c;有几个细节提前知道能少走很多弯路。 核心用嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;&#xff0c;4.8元&#xff0c;达标率99.26%。这篇…...