Android判断一个点是否在矩形区域内
个人遇到的问题判断按钮的点击事件还是滑动事件
private boolean button1Down = false;
private boolean button2Down = false; private boolean pointInRect(float x, float y, int w, int h) {
if (x < 0) {
return false;
}
if (x > w) {
return false;
}
if (y < 0) {
return false;
}
if (y > h) {
return false;
}
return true;
}
判断按钮坐标是否在矩形区域内
tv_button_group.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
button1Down = pointInRect(event.getX(), event.getY(), v.getWidth(), v.getHeight());
break;
case MotionEvent.ACTION_MOVE:
for(int i=0; i<event.getHistorySize(); i++) {
if(!pointInRect(event.getHistoricalX(i), event.getHistoricalY(i), v.getWidth(), v.getHeight())) {
button1Down = false;
break;
}
}
break;
case MotionEvent.ACTION_UP:
// 判断是否为点击
if (button1Down && pointInRect(event.getX(), event.getY(), v.getWidth(), v.getHeight())) {
if (initdata.get(position).isIsJoined()) {
SessionHelper.startTeamSession(MainActivity.this, initdata.get(position).getGroupId());
} else {
joinGroup(initdata.get(position).getGroupId());
}
} else {
//判断向上距离大于300为滑动及隐藏卡片页显示地图页
if (event.getY() < -300) {
recyclerView.setVisibility(View.GONE);
iv_data.setVisibility(View.GONE);
ll_bottom.setVisibility(View.GONE);
vw_view.setVisibility(View.GONE);
rl_deta.setVisibility(View.GONE);
mTitleWidget.setVisibility(View.GONE);
im_fanhui.setVisibility(View.VISIBLE);
rl_group.setVisibility(View.VISIBLE);
itData(mLongitude, mLatitude);
uiSettings.setScrollGesturesEnabled(true); //禁止拖拽
isoncl = false;
return true;
}
}
break;
}
return true;
}
});
Android判断一个点是否在矩形区域内的更多相关文章
- 判断一个点是否在某个区域内。百度,高德,腾讯都能用。(php版)
<?php // *** 配置文件(表示区域的三维数组)其内的点,必须按顺时针方向依次给出! $area = array( // 天通苑店 0 => array( array('x'=&g ...
- 判断一个点是否在多边形区域内--C算法
/*函数的输入:(1)当前点的坐标p(2)区域顶点数组pt[]:(3)顶点数nCount 输出: 在区域内返回TRUE,否则返回FALSE. Point类型是一个结构: struct Point { ...
- php 判断一个点是否在一个多边形区域内
<?php class pointMap{ private static $coordArray; private static $vertx = []; private static $ver ...
- Android 判断一个 View 是否可见 getLocalVisibleRect(rect) 与 getGlobalVisibleRect(rect)
Android 判断一个 View 是否可见 getLocalVisibleRect(rect) 与 getGlobalVisibleRect(rect) [TOC] 这两个方法的区别 View.ge ...
- 百度地图java 判断当前位置是否在多边形区域内
package com.haiyisoft.cAssistant.adapter.hessian; import java.awt.geom.Point2D;import java.util.Arra ...
- Mysql中判断一个点是否落在多边形内
关于地理空间数据,经常需要处理两个空间数据的关联关系.有很多种方法可以处理,通过编写程序算法,或者是调用数据库中对应的function.在mysql数据库中,https://dev.mysql.com ...
- 推断一个点是否在某个区域内。百度,高德,腾讯都能用。(php版)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...
- iOS 如何判断一个点在某个指定区域中
在iOS 开发中会遇到 判断位置的情况 iOS 自己都有函数实现的这些功能. 判断一个点是否在这个rect区域中 bool CGRectContainsPoint(CGRect rect,CGPoin ...
- Spring Data MongDB空间索引(判断一个点Point是否在一个区域Polygon内)
这里要连接MongoDB数据库,在配置文件里:spring.data.mongodb.uri = mongodb://root:root@localhost:27017/happy 两个root分别是 ...
随机推荐
- 继承LinearLayout自定义左侧菜单
public class LeftMenuView extends LinearLayout { LinkedHashMap<Integer,String> map=new LinkedH ...
- Hibernate查询部分字段并封装到指定类中
Hibernate 使用查询部分/指定字段,有几种字现方式: 第一种方式是通过HQL语句实现,类似SQL,方法如下: String hql = "select id,name from Li ...
- PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_mbstring.dll' 的解决方法
step 1: cd /etc/php/{$yourphpversion}/cli step 2: sudo vim php.ini step 3: 在extension=php_mbstring.d ...
- Mysql8.0导入数据时出错
在Windows操作系统下,使用命令行将已经创建好的txt文件导入到mysql的pet表中. 出现ERROR 1148 (42000): The used command is not allowed ...
- 2019年1月16日22:50:28 白糖SR1905
很好的机会,只拿了点皮毛,如果说都是因为上班时间不充裕那是给自己找借口,最主要原因没别的:思维不清,策略不明- 这里的入场初衷是周线区间下沿,日线向下脱离中枢失败后回拉一笔,那么这一单的做法就应该很明 ...
- samba、ftp和ssh服务
samba服务 Smb主要作为网络通信协议; Smb是基于cs架构: 完成Linux与windows之间的共享:linux与linux之间共享用NFS 第一步:安装samba [root@ken ~] ...
- [编码实践]SpringBoot实战:利用Spring AOP实现操作日志审计管理
设计原则和思路: 元注解方式结合AOP,灵活记录操作日志 能够记录详细错误日志为运营以及审计提供支持 日志记录尽可能减少性能影响 操作描述参数支持动态获取,其他参数自动记录. 1.定义日志记录元注解, ...
- LeetCode 86. Partition List 划分链表 C++
Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...
- 转载:消息队列MQ
本文大概围绕如下几点进行阐述: 为什么使用消息队列? 使用消息队列有什么缺点? 消息队列如何选型? 如何保证消息队列是高可用的? 如何保证消息不被重复消费? 如何保证消费的可靠性传输? 如何保证消息的 ...
- python-day4装饰器、生成器、迭代器、内置方法、序列化、软件目录
@生成器generator a=(i*2 for i in range(10)) a.__next__()#等同于next(a),基本都不用,多用for循环a.send(m)#将m传为yield的值 ...