android自定义View之零散基础知识
2017-06-12 10:42
267 查看
目录(注:特别感谢原作者:来自简书的fuck两点水)
从0到1Android自定义View(一) 零散基础知识.png
一、Android 坐标系
1、Android 屏幕坐标数学中常见的坐标系与 Android 系统上 View 的坐标系是有点差别的,Android 设备中,屏幕的左上角为坐标原点,向右为 x 轴增大方向,向下为 y 轴增大方向。
Android坐标系与数学坐标系的区别.png
2、View 的坐标
View 的坐标是相对父容器而言的
getTop(); //获取子View左上角距父View顶部的距离 getLeft(); //获取子View左上角距父View左侧的距离 getBottom(); //获取子View右下角距父View顶部的距离 getRight(); //获取子View右下角距父View左侧的距离
其中的源代码:
/** * Top position of this view relative to its parent. * 相对应父控件的top位置,单位为像素,即头部到父控件的距离 * @return The top of this view, in pixels. */ @ViewDebug.CapturedViewProperty public final int getTop() { return mTop; }
View坐标系.png
3、MotionEvent中 get 和 getRaw 的区别
event.getX(); //触摸点相对于其所在组件坐标系的坐标 event.getY(); event.getRawX(); //触摸点相对于屏幕默认坐标系的坐标 event.getRawY();
getY和getRawY.jpg
二、Android 中的角度与弧度
Android 自定义 View 中,经常会用到一些角度弧度的计算,还有一些数学函数的应用,因此,Android 中的角度和弧度我们也需要了解。1、角度与弧度的定义
角度:两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆周长的360分之一时,两条射线的夹角的大小为1度.
弧度:两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角大小为1弧度.
2、角度和弧度的换算关系
圆一周对应的角度为360度(角度),对应的弧度为2π弧度。
故得等价关系:360(角度) = 2π(弧度) ==> 180(角度) = π(弧度)
得出公式:
一角度=π/180弧度
一弧度= 180/π角度
注意:
在常见的数学坐标系中角度增大方向为逆时针方向
在默认的屏幕坐标系中角度增大方向为顺时针方向
角度增大的方向.png
三、颜色
1、Java 中定义颜色xml 定义颜色相信刚接触 Android 的都基本会用的,所以这里就介绍下 Java 中定义颜色,毕竟颜色在自定义 View 中也是必不可少的。
int color = Color.BLACK; //黑色 int color = Color.argb(127, 255, 0, 0); //半透明红色 int color = Color.parseColor("#ffffff"); //白色
2、透明度
透明度也是必不可少的,透明度分为 256 阶(0-255),计算机上用 16 进制表示为(00-ff)。透明就是 0 阶,不透明就是25 5阶,如果 50% 明就是 127 阶(256 的一半当然是 128,但因为是从 0 开始,所以实际上是127 )。
透明度 和 不透明度 是两个概念, 它们加起来是 1,或者 100%
ARGB 中的透明度alpha,表示的是不透明度。
透明度参照表.png
相关文章推荐
- 从0到1Android自定义View(一)零散基础知识
- Android 自定义View基础知识
- android 自定义view 前的基础知识
- Android自定义View总结(一)基础知识与实例
- Android 从0开始自定义控件之 View 基础知识与概念(一)
- android 自定义view基础知识
- Android自定义view之基础知识
- Android基础知识之控件系列(1)——TextView及自定义动态TextView
- Android自定义View——基础知识篇
- Android 自定义View——View 基础知识
- Android自定义View——基础知识篇
- android 自定义view基础知识
- Android基础教程(九)之自定义下拉菜单模式----Spinner与setDropDownViewResource的应用
- Android基础教程(九)之自定义下拉菜单模式----Spinner与setDropDownViewResource的应用
- Android自定义View基础(1)
- 0917Android基础自定义View(颜色渲染PorterDuff及Xfermode)
- 0916Android基础自定义View(Canvas绘图)
- Android基础教程(九)之自定义下拉菜单模式----Spinner与setDropDownViewResource的应用
- android基础学习之自定义view的简单原理
- 0916Android基础自定义View进度条专题