Android判断touch事件点是否在view范围内的方法
本文实例讲述了Android判断touch事件点是否在view范围内的方法。分享给大家供大家参考,具体如下:
private Rect mChangeImageBackgroundRect = null; private boolean isInChangeImageZone(View view, int x, int y) { if (null == mChangeImageBackgroundRect) { mChangeImageBackgroundRect = new Rect(); } view.getDrawingRect(mChangeImageBackgroundRect); int[] location = new int[2]; view.getLocationOnScreen(location); mChangeImageBackgroundRect.left = location[0]; mChangeImageBackgroundRect.top = location[1]; mChangeImageBackgroundRect.right = mChangeImageBackgroundRect.right + location[0]; mChangeImageBackgroundRect.bottom = mChangeImageBackgroundRect.bottom + location[1]; return mChangeImageBackgroundRect.contains(x, y); }
其中view是要判断的view ,x,y是Down X, Down Y
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android调试技巧与常见问题解决方法汇总》、《Android开发入门与进阶教程》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
相关推荐
-
Android实现通讯录效果——获取手机号码和姓名
首先给大家展示下运行效果图: 由于通讯录在手机里是以数据库贮存的 所以我们可以通过一个方法 context.getContentResolver().query(Phone.CONTENT_URI, null, null, null, null); 来获得通讯录 ,这个方法返回一个游标的数据类型,通过moveToNext()方法来获取所有的手机号码信息 当然读取手机通讯录需要权限 在adnroidManifest文件中声明即可 由于我也实现了打电话的功能 所以也要声明权限 <uses-permi
-
Android判断App前台运行还是后台运行(运行状态)
本文通过图文并茂的方式给大家介绍android判断app状态的相关内容,具体详情如下所示: 要了解这块,首先需要明白一些概念,app,process,task 1.process就是进程,是linux的概念. 2.一般一个app拥有一个uid,运行在一个进程里,如果app中给service等定义不同的uid,那Service就运行在另外一个进程里,也就是说uid就相当于进程的id一样,一个uid就代表一个进程:也可以几个app定义一个uid,那他们就运行在一个进程里了. 3.task是andro
-
Android读取用户号码,手机串号,SIM卡序列号的实现代码
1.使用TelephonyManager提供的方法,核心代码: 复制代码 代码如下: TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);String imei = tm.getDeviceId(); //取出IMEILog.d(TAG, "IMEI:"+imei);String tel = tm.getLine1Number(); //取出MSISDN,
-
Android获取手机号码和运营商信息的方法
本文实例讲述了Android获取手机号码和运营商信息的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package com.pei.activity; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; i
-
Android判断11位手机号码的方法(正则表达式)
项目里头需要做一个判断用户输入的号码是否是正确的手机号码,正确的手机号码应该是11位的,这里我们需要用一个正则表达式来进行判断,正则表达式的定义如下: public final static String PHONE_PATTERN = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"; 然后我们写一个方法,主要有两个参数,1.正则表达式:2.输入的字符串(号码),方法如下: /** * 正则表达式匹配判断 * @param patternS
-
Android判断touch事件点是否在view范围内的方法
本文实例讲述了Android判断touch事件点是否在view范围内的方法.分享给大家供大家参考,具体如下: private Rect mChangeImageBackgroundRect = null; private boolean isInChangeImageZone(View view, int x, int y) { if (null == mChangeImageBackgroundRect) { mChangeImageBackgroundRect = new Rect(); }
-
Android 判断是开发debug模式,还是发布release模式的方法
如下所示: public class LogUtils { public static boolean APP_DBG = false; // 是否是debug模式 public static void init(Context context){ APP_DBG = isApkDebugable(context); } /** * 但是当我们没在AndroidManifest.xml中设置其debug属性时: * 使用Eclipse运行这种方式打包时其debug属性为true,使用Eclips
-
C#判断给定IP地址是否在指定范围内的方法
本文实例讲述了C#判断给定IP地址是否在指定范围内的方法.分享给大家供大家参考.具体分析如下: 比如给定一个ip段:127.0.0.1 ~ 127.0.0.255,我们想判断一个给定的ip地址是否在此段内,可以先将ip地址转换成整数,然后整数比较大小就很容易了. 例如: 127.0.0.1 = 2130706433 127.0.0.255 = 2130706687 判断: 127.0.1.253 = 2130706941 是否在此范围内,直接比较整数大小即可 将ip地址转换成整数: public
-
Android实现单页面浮层可拖动view的一种方法
上一篇讲到通过通过goolge官方的ViewDragHelper工具实现拖动的方法(上一篇见http://www.jb51.net/article/125481.htm),那么有一个问题就是在DragframeLayout中的onTouchEvent一直接收不到触摸消息,而且在onInterceptTouchEvent的时候,并没有触发ViewDragHelper.tryCaptureView方法,因此诞生了另一种比较原始的方法:通过自定义可拖动view来实现 主要方法: initEdge:设置
-
Android判断屏幕是横屏或是竖屏的简单实现方法
本文所述为一个Android的常用技巧代码,主要用于判断手机屏幕是横向或是竖向的,在判断屏幕水平或垂直后你可以对程序做出相应的响应,该实例代码只是判断是否为竖屏,若判断正确返回true,否则返回false. 具体的程序代码如下: package com.lurencun.cfuture09.androidkit.util.ui; import android.content.Context; import android.content.res.Configuration; public cla
-
Android Touch事件分发深入了解
本文带着大家深入学习触摸事件的分发,具体内容如下 1. 触摸动作及事件序列 (1)触摸事件的动作 触摸动作一共有三种:ACTION_DOWN.ACTION_MOVE.ACTION_UP.当用户手指接触屏幕时,便产生一个动作为ACTION_DOWN的触摸事件,此时若用户的手指立即离开屏幕,会产生一个动作为ACTION_UP的触摸事件:若用户手指接触屏幕后继续滑动,当滑动距离超过了系统中预定义的距离常数,则产生一个动作为ACTION_MOVE的触摸事件,系统中预定义的用来判断用户手指在屏幕上的滑动是
-
30分钟搞清楚Android Touch事件分发机制
Touch事件分发中只有两个主角:ViewGroup和View.Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理. View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析. ViewGroup的相关事件有三个:onInterceptTouchEvent.dispatchTouchEvent.onTouchEvent.View的相关事件只有两个:
-
Android的Touch事件处理机制介绍
Android的Touch事件处理机制比较复杂,特别是在考虑了多点触摸以及事件拦截之后. Android的Touch事件处理分3个层面:Activity层,ViewGroup层,View层. 首先说一下Touch事件处理的几条基本规则. 如果在某个层级没有处理ACTION_DOWN事件,那么该层就再也收不到后续的Touch事件了直到下一次ACTION_DOWN事件. 说明: a.某个层级没有处理某个事件指的是它以及它的子View都没有处理该事件. b.这条规则不适用于Activity层(它是顶层
-
Android 判断SIM卡属于哪个移动运营商详解及实例
Android 判断SIM卡属于哪个移动运营商 第一种方法: 获取手机的IMSI码,并判断是中国移动\中国联通\中国电信 TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); /** 获取SIM卡的IMSI码 * SIM卡唯一标识:IMSI 国际移动用户识别码(IMSI:International Mobile Subscriber Identification
-
如何自己实现Android View Touch事件分发流程
Android Touch事件分发是Android UI中的重要内容,Touch事件从驱动层向上,经过InputManagerService,WindowManagerService,ViewRootImpl,Window,到达DecorView,经View树分发,最终被消费. 本文尝试通过对其中View部分的事件分发,也是与日常开发联系最紧密的部分,进行重写.说是重写,其实是对Android该部分源码进行大幅精简而不失要点,且能够独立运行,以一窥其全貌,而不陷入到源码繁杂的细节中. 以下类均为
随机推荐
- 完美实现浮动元素横排居中显示
- JS在可编辑的div中的光标位置插入内容的方法
- 简单实现js无缝滚动效果
- 仿打字特效的JS逐字出现的信息文字
- Android模拟器对应的电脑快捷键说明
- 浅谈Python数据类型判断及列表脚本操作
- js中top/parent/frame概述及案例应用
- 详解WordPress开发中get_current_screen()函数的使用
- sed模式空间和暂存空间的区别
- 使用BULK INSERT大批量导入数据 SQLSERVER
- 没有SQL Server数据库时如何打开.MDF文件
- 基于node.js express mvc轻量级框架实践
- 理解Java的序列化与反序列化
- Android 使用CoordinatorLayout实现滚动标题栏效果的实例
- Android几行代码实现监听微信聊天示例
- Android编程之重力感应用法分析
- js解决软键盘遮挡输入框的问题分享
- mac及linux下搭建ruby+rails环境
- 在Linux中如何查看可用的网络接口详解
- Python实现将通信达.day文件读取为DataFrame