Android自定义View(基础篇),系统的学习
2016-09-13 13:14
190 查看
自定义View(基础篇)
转载出处:http://www.gcssloop.com/customview/CoordinateSystem/
一、数学中坐标系和手机屏幕坐标系的区别
三张图就能看懂
![](http://ww2.sinaimg.cn/large/005Xtdi2jw1f1qygzfvhoj308c0dwglr.jpg)
![](http://ww1.sinaimg.cn/large/005Xtdi2jw1f1qyhbqvihj308c0dwjrh.jpg)
![](http://ww3.sinaimg.cn/large/005Xtdi2jw1f1qyhjy7h8j308c0dwq32.jpg)
二、View的坐标系
注意:View的坐标系统是相对于父控件而言的。代码:
getTop(); //获取子view左上角距父view顶部的距离 getLeft(); //获取子view左上角距父view左侧的距离 getButtom();//获取子view右下角距父view顶部的距离 getRight(); //获取子view右下角距父view左侧的距离
![](http://ww2.sinaimg.cn/large/005Xtdi2gw1f1qzqwvkkbj308c0dwgm9.jpg)
三、MotionEvent中get和getRaw的区别
代码:event.getX(); //触摸点相对于其所在组件坐标系的坐标 event.getY(); event.getRawX(); //触摸点相对于屏幕默认坐标系的坐标 event.getRawY();
![](http://ww1.sinaimg.cn/large/005Xtdi2jw1f1r2bdlqhbj308c0dwwew.jpg)
四、核心要点
在数学中的坐标系和屏幕默认坐标系的区别View的坐标系是相对父控件而言的
MotionEvent中get和getRaw的区别
原文超链接:http://www.gcssloop.com/2015/01/AngleAndRadian/
角度(angle)与弧度(radian)的定义
概念详解:角度:两条射线从圆心向圆周围射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆周长的360分之一时,两条射线的夹角大小为1度. 弧度:两条射线从圆心向圆周围射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角大小为1弧度.
如图:
.![](http://ww1.sinaimg.cn/large/005Xtdi2jw1f1s0f975hmj308c0dwmxh.jpg)
.
![](http://ww3.sinaimg.cn/large/005Xtdi2jw1f1s0g3rcg2j308c0dw3yw.jpg)
角度和弧度的换算关系:
圆的周长为C=2πr (360°)1角度对应的弧度为:π/180,所以弧度=角度xπ/180,角度=弧度x180/π.
如图:
![](http://ww3.sinaimg.cn/large/005Xtdi2jw1f4hui2jaecj305m03lwee.jpg)
Android中默认屏幕角度增大方向:
![](http://ww3.sinaimg.cn/large/005Xtdi2jw1f1s2wnsewfj308c0dwt94.jpg)
如果想系统学习自定义View,推荐看作者GcsSloop系列文章
相关文章推荐
- android学习5#--自定义View之坐标系统
- Android客户端之“微服私访”App的系统学习(七)XRecyclerView快速实现列表界面+自定义Search输入框,软键盘搜索按钮监听+TextView部分样式改变
- Android客户端之“微服私访”App的系统学习(五)使用Picasso实现轮播图以及使用自定义View实现个人中心页面
- Android中的自定义Adapter(继承自BaseAdapter)——与系统Adapter的调用方法一致——含ViewHolder显示效率的优化
- Android学习:自定义ViewGroup方法总结
- Android学习自定义View(四)——继承控件(滑动时ListView的Item出现删除按钮)
- Android 进阶学习:Android自定义View的实现方法,带你一步步深入了解View(四)
- Android学习自定义View(二)——View和ViewGroup绘制流程以及invalidate()
- Android学习开发 之 自定义view
- Android学习小demo(1)自定义View
- Android学习自定义View(四)——继承控件(滑动时ListView的Item出现删除按钮)
- Android学习小demo(3)自定义ViewGroup 利用 scroller 实行屏幕滚动
- Android学习自定义View(一)——初识View
- Android View系统学习文章汇总
- Android学习自定义View(三)——自绘控件和组合控件
- android 学习笔记(1) ExpandableListActivity 自定义view
- Android总结笔记01:自定义View学习(一)
- Android 学习之--自定义ViewGroup
- 【Android开发学习】自定义View
- Android学习自定义View(二)——View和ViewGroup绘制流程以及invalidate()