文章目录
坐标系
1. 屏幕坐标系
移动设备一般定义屏幕左上角为坐标原点,向右为x轴增大方向,向下为y轴增大方向。
2. View 的坐标系
注意:
View
的坐标系统是相对于父控件而言的.
getTop()
: //获取子View左上角距父View顶部的距离getLeft()
: //获取子View左上角距父View左侧的距离getBottom()
: //获取子View右下角距父View顶部的距离getRight()
: //获取子View右下角距父View左侧的距离
3. MotionEvent 中 get 和 getRaw 的区别
event.getX()
; //触摸点相对于其所在组件坐标系的坐标
event.getY()
;
event.getRawX()
; //触摸点相对于屏幕默认坐标系的坐标
event.getRawY()
;
角度
1. 角度
定义:两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆周长的 360 分之一时,两条射线的夹角的大小为 1 度.
2. 弧度
定义:两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角大小为 1 弧度.
3. 角度和弧度的换算关系
圆一周对应的角度为 360 度(角度),对应的弧度为 2π 弧度。
故得等价关系:360(角度) = 2π(弧度) ==> 180(角度) = π(弧度)
颜色
1. 安卓支持的颜色
注意:我们常用的是 ARGB8888 和 ARGB4444 ,而在所有的安卓设备屏幕上默认的模式都是 RGB565 ,请留意这一点。
以 ARGB8888 为例介绍颜色定义:
其中 A R G B 的取值范围均为0 ~ 255(即16进制的0x00~0xff)
A 从 0x00 到 0xff 表示从透明到不透明。
RGB 从 0x00 到 0xff 表示颜色从浅到深。
当 RGB 全取最小值(0 或 0x000000)时颜色为黑色,全取最大值(255 或 0xffffff)时颜色为白色
2. 几种创建或使用颜色的方式
java
中定义颜色
int color = Color.GRAY; //灰色
- 在
xml
文件中定义颜色
在/res/values/color.xml
文件中如下定义:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#ff0000</color>
<color name="green">#00ff00</color>
</resources>
- 在
java
文件中引用xml
中定义的颜色:
int color = getResources().getColor(R.color.mycolor);
- 在
xml
文件(layout
或style
)中引用或者创建颜色
<!--在style文件中引用-->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/red</item>
</style>
android:background="@color/red" //引用在/res/values/color.xml 中定义的颜色
android:background="#ff0000" //创建并使用颜色
3. 取色工具
1.ColorPix(for Win)
简单的取色调色工具,可以从屏幕取色,非常小而精简。
2.Picpick(for Win)
PicPick具备了截取全屏、活动窗口、指定区域、固定区域、手绘区域功能,支持滚动截屏,屏幕取色,支持双显示器,具备白板、屏幕标尺、直角座标或极座标显示与测量,具备强大的图像编辑和标注功能。