Android根据坐标判断是否在控件内
2015-11-23 17:37
302 查看
在Android的ontouch事件中:
event.getX()和event.getY()得到的是坐标相对于父布局中的坐标;
相对于屏幕中的坐标;event.getRawX()和event.getRawY()得到的坐标是相对于屏幕中的坐标;
如图,view的getLeft()等方法获得的是该view相对于父布局中的距离:
getLeft()获得的是view的左边缘相对于父布局左边缘的距离;
getRight()获得的是view的右边缘相对于父布局左边缘的距离;
由此可见,两值的差是view的宽度。并且当判断点击事件中x坐标(相对于父布局,即getX())的值大于getLeft()小于getRight()时说明点击的坐标在控件内。纵坐标同理。
event.getX()和event.getY()得到的是坐标相对于父布局中的坐标;
相对于屏幕中的坐标;event.getRawX()和event.getRawY()得到的坐标是相对于屏幕中的坐标;
如图,view的getLeft()等方法获得的是该view相对于父布局中的距离:
getLeft()获得的是view的左边缘相对于父布局左边缘的距离;
getRight()获得的是view的右边缘相对于父布局左边缘的距离;
由此可见,两值的差是view的宽度。并且当判断点击事件中x坐标(相对于父布局,即getX())的值大于getLeft()小于getRight()时说明点击的坐标在控件内。纵坐标同理。
相关文章推荐
- Android项目依赖与直接导入Jar包
- AndroidStudio单元测试——instrumentation
- android重要的依赖库与SDK收集
- 老罗android之旅补丁版之三HAL层
- Android软键盘的隐藏显示监听
- Android专用Log开源项目——KLog
- 安卓巴士Android开发神贴整理
- android 配置Material Design主题(沉浸式状态栏的实现)
- 直接拿来用!最火的Android开源项目(一)
- [Android]使用命令行方式进行签名
- Android HelloChart开源库图表(一)之折线图
- Error: cannot be cast to android.widget.HeaderViewListAdapter
- AndroidStudio签名
- Android:Layout_weight属性解析
- Android中的ANR
- Android中的ANR
- Android中的ANR
- Android中的ANR
- Android中的ANR
- Android中的ANR