首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android开发时的多点触控是如何实现的?

对于Android自定义控件开发,多点触控是一个必须要懂的知识点。因为在正常的情况下操作正常的控件,使用多指操作时,基本上都会出现问题。当需要对多指操作进行兼容时,就需要这方面的知识了。...本文选自《Android自定义控件高级进阶与精彩实例》一书,带你了解多点触控的基本知识。 ---- —— 正文 —— 假如,我们做了这么一个功能,图像跟随手指移动。...▼ 单点触控与多点触控 1 单点触控 单点触控与多点触控是相对的,单点触控的意思是,我们只考虑一根手指的情况,而且仅处理一根手指的触摸事件,而多点触控是处理多根手指的触摸事件。...除了消息外,我们也经常用下面这几个函数来获取手指的位置等信息,这些函数都没有参数,也都只有在单点触控时才能使用。 对于这几个函数的使用方法,这里就不再赘述了。...说明:单点触控是通过getAction来获取当前事件类型的,而多点触控是通过getActionMasked来获取的。 多点触控涉及的消息类型与单点触控的不一样,它的消息类型如下。

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android开发:最全面、最易懂的Android屏幕适配解决方案

    :Android 屏幕适配 鸿洋:Android 屏幕适配方案 凯子: Android屏幕适配全攻略(最权威的官方适配指导) 自身的思考&实践 给你带来一种全新、全面而逻辑清晰的Android屏幕适配思路...使得“图片资源”匹配不同的屏幕密度 ---- 解决方案 问题:如何进行屏幕尺寸匹配?...但是LinearLayout**无法准确地控制子视图之间的位置关系**,只能简单的一个挨着一个地排列 所以,对于屏幕适配来说,使用相对布局(RelativeLayout)将会是更好的解决方案 本质2:根据屏幕的配置来加载相应的...UI资源 使用场景 你需要为标准 7 英寸平板电脑匹配双面板布局(其最小宽度为 600 dp),在手机(较小的屏幕上)匹配单面板布局 解决方案:您可以使用上文中所述的单面板和双面板这两种布局,...---- 总结 经过上面的介绍,对于屏幕尺寸大小适配问题应该是不成问题了。 ---- 解决方案 问题:如何进行屏幕密度匹配? 答: ?

    3.4K70

    Android 软键盘的那些事

    android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。...【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示 【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间(可以显示全部屏幕) 【I...】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分(软键盘会遮挡屏幕) android:windowSoftInputMode 活动的主窗口如何与包含屏幕上的软键盘窗..."stateHidden" 当用户选择该Activity时,软键盘被隐藏——也就是说,当用户确定导航到该Activity时,不管他离开的Activity的软键盘是可见还是隐藏都会被隐藏,不过当用户离开一个..."adjustResize" 该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间 "adjustPan" 该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。

    2.2K10

    Android开发常用的知识点

    软键盘的状态(是否它是隐藏或可见)没有被指定。系统将选择一个合适的状态或依赖于主题的设置。...stateHidden 当用户选择该Activity时,软键盘被隐藏——也就是说,当用户确定导航到该Activity时,不管他离开的Activity的软键盘是可见还是隐藏都会被隐藏,不过当用户离开一个...stateAlwaysHidden 当该Activity主窗口获取焦点时,软键盘总是被隐藏的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。...adjustUnspecified 这个是软件盘行为默认的设置。它不被指定是否该Activity主窗口调整大小以便留出软键盘的空间,或是否窗口上的内容得到屏幕上当前的焦点是可见的。...adjustResize 该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间 adjustPan 该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。

    2.8K10

    Android笔记:软键盘弹出遮盖原来界面的布局控件

    " android:windowSoftInputMode="adjustPan" android:screenOrientation="portrait" android...如果加上的是 android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。...:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示   【C】stateHidden:用户选择activity时,软键盘总是被隐藏   【D】stateAlwaysHidden...:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的   【E】stateVisible:软键盘通常是可见的   【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态...  【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示   【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间   【I】adjustPan

    1.3K20

    Android爬坑之旅:软键盘挡住输入框问题的终极解决方案

    如果Activity是全屏模式,那么android.R.id.content就是占满全部屏幕区域的。...其他情况,如Activity是弹窗、或者7.0以后的分屏样式等,android.R.id.content也是弹窗的范围或者分屏所在的半个屏幕——这些情况较少,就暂且不考虑了。...↑也可以看出: rect.top值,其实就是标题栏的高度。(实际上,这也常常被用作为获取标题栏高度的方法) 屏幕高度-rect.bottom,是软键盘的高度。...因为能触发OnGlobalLayout事件的原因有很多,不止是软键盘的弹出变化,还包括各种子View的隐藏显示变化等,它们对界面高度的影响有限。...加上了这个判断之后,只有界面的高度变化超过1/4的屏幕高度,才会进行重新设置高度,基本能保证代码只响应软键盘的弹出。

    5.2K20

    Ionic3学习笔记(九)关于 Android 端软键盘弹出后界面被压缩的问题

    今天做了一个登录注册页,iOS 端毫无 bug,Android 端却出现了问题。...当软键盘弹出后,Android 端的 tabs 移到了软键盘的上面,再仔细一看,整个界面都被压扁了,输入框也不知道去哪儿了。...stateUnspecified 未指定软键盘的状态,系统将自动选择一个合适的状态或依赖于主题中的设置。 stateUnchanged 当前界面的软键盘状态取决于上一个界面的软键盘状态。...stateHidden 用户选择 Activity 时,软键盘总是被隐藏。 stateAlwaysHidden 当该 Activity 主窗口有输入需求时,软键盘总是被隐藏。...adjustUnspecified 未指定软键盘与界面内容之间的显示关系。 adjustResize 该 Activity 总是调整屏幕的大小以便留出软键盘的空间。

    1K20

    android基础

    android.intent.category.LAUNCHER 决定应用程序是否显示在程序列表里 android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题...这个属性能影响两件事情: 【一】当有焦点产生时,软键盘是隐藏还是显示 【二】是否减少活动主窗口大小以便腾出空间放软键盘 它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”...:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示 【C】stateHidden:用户选择activity时,软键盘总是被隐藏 【D】stateAlwaysHidden...:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的 【E】stateVisible:软键盘通常是可见的 【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态...【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示 【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间 【I】adjustPan

    90220

    【Android 屏幕适配】屏幕适配通用解决方案 ④ ( 自定义组件解决方案 | 计算设计稿与实际布局的比例系数 )

    文章目录 一、计算素材宽高与屏幕布局宽高比例系数 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 在博客 【Android 屏幕适配】屏幕适配通用解决方案 ② ( 自定义组件解决方案...实际坐标数据 ; 在博客 【Android 屏幕适配】屏幕适配通用解决方案 ③ ( 自定义组件解决方案 | 获取设备状态栏高度 | 获取设备屏幕数据 ) 中 , 完成了前两项工作 , 已经获取了实际的屏幕数据...*/ public final float REFERENCE_HEIGHT = 1232; 通过 , 可以得到屏幕中布局的宽高 , 直接记录在成员变量中 ; 在 【Android 屏幕适配】屏幕适配通用解决方案...float REFERENCE_HEIGHT = 1232; 屏幕布局宽度 , 在 【Android 屏幕适配】屏幕适配通用解决方案 ③ ( 自定义组件解决方案 | 获取设备状态栏高度 | 获取设备屏幕数据...screenWidth; 屏幕布局高度 , 在 【Android 屏幕适配】屏幕适配通用解决方案 ③ ( 自定义组件解决方案 | 获取设备状态栏高度 | 获取设备屏幕数据 ) 二、获取设备屏幕数据 博客章节完成了对应数据的计算

    1.2K10

    Carson带你学Android:最全面、最易懂的屏幕适配解决方案

    :Android 屏幕适配 鸿洋:Android 屏幕适配方案 凯子: Android屏幕适配全攻略(最权威的官方适配指导) 自身的思考&实践 给你带来一种全新、全面而逻辑清晰的Android屏幕适配思路...”匹配不同的屏幕密度 解决方案 问题:如何进行屏幕尺寸匹配?...但是LinearLayout无法准确地控制子视图之间的位置关系,只能简单的一个挨着一个地排列 所以,对于屏幕适配来说,使用相对布局(RelativeLayout)将会是更好的解决方案 本质2:根据屏幕的配置来加载相应的...UI资源 使用场景 你需要为标准 7 英寸平板电脑匹配双面板布局(其最小宽度为 600 dp),在手机(较小的屏幕上)匹配单面板布局 解决方案:您可以使用上文中所述的单面板和双面板这两种布局,但您应使用...总结 经过上面的介绍,对于屏幕尺寸大小适配问题应该是不成问题了。 解决方案 问题:如何进行屏幕密度匹配?

    1.6K11

    【Android 屏幕适配】屏幕适配通用解决方案 ② ( 自定义组件解决方案 | 需要解决的问题 : 设计稿坐标数据转为屏幕真实坐标数据 | 实现步骤 )

    文章目录 一、自定义组件解决方案 二、需要解决的问题 : 设计稿坐标数据转为屏幕真实坐标数据 三、实现步骤 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 一、自定义组件解决方案...---- 使用的 dimens.xml 配置的方式 实现 屏幕适配 , 在 开发时 就 事先将对应屏幕分辨率的值换算好 并 配置到 dimens.xml 文件 中 , 在程序运行时只需要直接调用即可..., 不需要消耗资源进行额外的计算 ; 自定义组件解决方案 实现 屏幕适配 , 是在 应用运行过程中 , 自定义组件的 onMeasure 测量方法中 , 按照组件的比例进行缩放 ; 自定义组件 在 onMeasure...方法中 , 只需要将 该 自定义 ViewGroup 组件 下的 子组件 逐个遍历 , 根据当前 设备的屏幕像素属性 修改子组件的 宽高 和 位置 的像素数据 ; 二、需要解决的问题 : 设计稿坐标数据转为屏幕真实坐标数据..., 对应 手机屏幕中除 状态栏之外的 布局 , 需要完成如下操作 : 首先 , 要 获取到实际的设备屏幕数据 , 如 手机屏幕实际宽高 , 屏幕像素密度 DPI 等数据 ; 然后 , 计算实际设备的宽高

    52000

    自助终端设备安全剖析

    0x00 基本介绍 自助终端设备是将触控屏和相关系统软件进行结合,再配以相关功能与服务的一种电子终端设备。...Android这两种,也有少数的Linux系统。...根据提供的功能服务采用不同的操作系统,比如常见的一些自动售货机、贩卖机大都使用Android系统,系统之上安装服务应用APK。然后通过禁用和隐藏Android导航栏和通知菜单的手段防止用户跳出应用。...首先是实现交互功能的红外线技术触控屏,有的支持单点触控,有的支持多点触控,很容易判断。另外有些自助终端设备还带有物理键盘或者小型的定制键盘,比如常见的ATM机。...触控手势 有的设备会使用Windows的平板模式或者Android系统的横屏模式,可以使用一些常见的手势操作,如果没有屏蔽的话,会有意想不到的惊喜。

    2.8K20
    领券