个人遇到的问题判断按钮的点击事件还是滑动事件

   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判断一个点是否在矩形区域内的更多相关文章

  1. 判断一个点是否在某个区域内。百度,高德,腾讯都能用。(php版)

    <?php // *** 配置文件(表示区域的三维数组)其内的点,必须按顺时针方向依次给出! $area = array( // 天通苑店 0 => array( array('x'=&g ...

  2. 判断一个点是否在多边形区域内--C算法

    /*函数的输入:(1)当前点的坐标p(2)区域顶点数组pt[]:(3)顶点数nCount 输出: 在区域内返回TRUE,否则返回FALSE.  Point类型是一个结构: struct Point { ...

  3. php 判断一个点是否在一个多边形区域内

    <?php class pointMap{ private static $coordArray; private static $vertx = []; private static $ver ...

  4. Android 判断一个 View 是否可见 getLocalVisibleRect(rect) 与 getGlobalVisibleRect(rect)

    Android 判断一个 View 是否可见 getLocalVisibleRect(rect) 与 getGlobalVisibleRect(rect) [TOC] 这两个方法的区别 View.ge ...

  5. 百度地图java 判断当前位置是否在多边形区域内

    package com.haiyisoft.cAssistant.adapter.hessian; import java.awt.geom.Point2D;import java.util.Arra ...

  6. Mysql中判断一个点是否落在多边形内

    关于地理空间数据,经常需要处理两个空间数据的关联关系.有很多种方法可以处理,通过编写程序算法,或者是调用数据库中对应的function.在mysql数据库中,https://dev.mysql.com ...

  7. 推断一个点是否在某个区域内。百度,高德,腾讯都能用。(php版)

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...

  8. iOS 如何判断一个点在某个指定区域中

    在iOS 开发中会遇到 判断位置的情况 iOS 自己都有函数实现的这些功能. 判断一个点是否在这个rect区域中 bool CGRectContainsPoint(CGRect rect,CGPoin ...

  9. Spring Data MongDB空间索引(判断一个点Point是否在一个区域Polygon内)

    这里要连接MongoDB数据库,在配置文件里:spring.data.mongodb.uri = mongodb://root:root@localhost:27017/happy 两个root分别是 ...

随机推荐

  1. MySql 的SQL执行计划查看,判断是否走索引

    在select窗口中,执行以下语句: set profiling =1; -- 打开profile分析工具show variables like '%profil%'; -- 查看是否生效show p ...

  2. python 进程/线程/协程 测试

    # Author: yeshengbao # -- coding: utf-8 -- # @Time : 2018/5/24 21:38 # 进程:如一个人拥有分身(分数数最好为cpu核心数)几乎同时 ...

  3. mysql之工具的使用总结(mac版本)

    13.mysql Mac终端操作 12.MySql在Mac上的安装与配置详解: 11.mac下安装mysql5.7.18,连接出现Access denied for user 'root'@'loca ...

  4. 使用docker创建静态网站应用-多种方式

    能承载静态网站的服务器有很多,本文使用,nginx.apache.tomcat服务器演示docker静态网站应用设置 一,创建docker文件, 不同服务器的docker文件不一样,下面分别创建ngi ...

  5. 刘志梅201771010115.《面向对象程序设计(java)》第十七周学习总结

    实验十七  线程同步控制 实验时间 2018-12-10 1.实验理论知识 多线程    多线程是进程执行过程中产生的多条执行线索.进程    线程是比进程执行更小的单位.线程不能独立存在,必须存在于 ...

  6. 生信基础知识【04】GO和pathway分析

    非原创 参考资料: 一文掌握GO和pathway分析 - 生物信息学讨论版 -丁香园论坛http://www.dxy.cn/bbs/thread/34904124#34904124 GO富集 GO是G ...

  7. [java,2017-05-17] 数据型参数趣谈

    int的最大值是多少?加一呢?乘2呢? 第一个问题我想大多数人都知道,不知道后两个有多少人研究过. 首先上一段代码: public class DecimalTest { public static ...

  8. DLC 基本逻辑运算

    逻辑代数:分析设计数字电路的数学基础是逻辑代数 变量的取值只能是 0 1 逻辑代数中只有三种基本逻辑运算,即 与 或 非 与逻辑运算: 只有决定一件事情的全部条件都具备时,这事件才成立.这样的因果关系 ...

  9. kettle中文乱码问题

    db连接->选项 配置参数 characterEncoding,设置值为gbk/utf8.

  10. python3百度设置高级搜索例子

    #=======================================#作者:邓沛友#2018.12.16=============================coding:utf-8f ...