Android笔记:getRawX()与getX()的区别,手势的屏幕相对坐标与绝对坐标

简介:

1.getRawX()与getX()的区别


getRawX():绝对坐标

getX():相对坐标


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mBtn_sate.setOnTouchListener( new  OnTouchListener()
{
     @Override
     public  boolean  onTouch(View v, MotionEvent event)
     {
         if (event.getAction() == MotionEvent.ACTION_DOWN)
         {
             Log.e( "" "ACTION_DOWN="  + v.toString());
         }
         else  if (event.getAction() == MotionEvent.ACTION_UP)
         {
             Log.e( "" "ACTION_UP="  + v.toString());
         }
         else  if (event.getAction() == MotionEvent.ACTION_MOVE)
         {
             //getRawX()指控件在屏幕上的X坐标
             if (event.getRawX() > v.getLeft() && event.getRawX() < v.getRight() && event.getRawY() > v.getTop() && event.getRawY() < v.getBottom())
             {
                 Log.e( "" "超出 " );
             }
                                             
             //getX()相对于控件X坐标的距离
             if (event.getX() <  0  || event.getY() <  0  || event.getX() > (v.getRight() - v.getLeft()) || event.getY() > (v.getBottom() - v.getTop()))
             {
                 Log.e( "" "越界 " );
             }
                                             
         }
         return  false ;
     }
});














本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1359067,如需转载请自行联系原作者

目录
相关文章
|
21天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
23天前
|
Unix Linux Shell
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
在Linux环境下交叉编译Android所需的FFmpeg so库,首先下载`android-ndk-r21e`,然后解压。接着,上传FFmpeg及相关库(如x264、freetype、lame)源码,修改相关sh文件,将`SYSTEM=windows-x86_64`改为`SYSTEM=linux-x86_64`并删除回车符。对x264的configure文件进行修改,然后编译x264。同样编译其他第三方库。设置环境变量`PKG_CONFIG_PATH`,最后在FFmpeg源码目录执行配置、编译和安装命令,生成的so文件复制到App工程指定目录。
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
|
2月前
|
API 开发工具 Android开发
iOS 和 Android 平台的开发有哪些主要区别?
iOS与Android开发区别:iOS用Objective-C/Swift,App Store唯一下载渠道;Android用Java/Kotlin,多商店发布(如Google Play、华为市场)。设计上,iOS简洁一致,Android灵活可定制。开发工具,iOS用Xcode,Android用Android Studio。硬件和系统多样性,iOS统一,Android复杂。权限管理、审核流程及API各有特点,开发者需依据目标平台特性进行选择。
38 3
|
3天前
|
XML 存储 编解码
android 目录结构中 drawable(hdpi,ldpi,mdpi) 的区别
android 目录结构中 drawable(hdpi,ldpi,mdpi) 的区别
10 1
|
5天前
|
开发工具 Android开发
rk平台Android12屏幕永不休眠
rk平台Android12屏幕永不休眠
17 1
|
22小时前
|
Java 开发工具 Android开发
鸿蒙HarmonyOS 与 Android 的NDK有什么区别?
鸿蒙(HarmonyOS)和Android的NDK(Native Development Kit)是两个不同的概念,它们在设计理念、架构、开发方式和目标平台等方面存在着一些显著的不同。
4 0
|
5天前
|
Android开发
Android Makefile中inherit-product函数和include的区别
Android Makefile中inherit-product函数和include的区别
9 0
|
7天前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
|
20天前
|
存储 Java API
Android系统 文件访问权限笔记
Android系统 文件访问权限笔记
55 1
|
20天前
|
XML Java Android开发
Android系统 添加动态控制屏幕方向、强制APP横竖屏方向
Android系统 添加动态控制屏幕方向、强制APP横竖屏方向
34 1