自定义VIEW(学习笔记一)-基础知识
2016-12-01 12:01
239 查看
一.坐标系
1.1.屏幕坐标系和数学坐标系的区别
数学中的坐标系屏幕坐标系
实际屏幕上的默认坐标系如下:
1.2 View的坐标系
getTop(); //获取子View左上角距父View顶部的距离 getLeft(); //获取子View左上角距父View左侧的距离 getBottom(); //获取子View右下角距父View顶部的距离 getRight(); //获取子View右下角距父View左侧的距离
1.3 MotionEvent中 get 和 getRaw 的区别
event.getX(); //触摸点相对于其所在组件坐标系的坐标 event.getY(); event.getRawX(); //触摸点相对于屏幕默认坐标系的坐标 event.getRawY();
二.角度和弧度
2.1 角度与弧度的定义
2.1.1 角度 :
两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆周长的360分之一时,两条射线的夹角的大小为1度.
2.1.2弧度 :
两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角大小为1弧度.
2.2 角度和弧度的换算关系
360(角度) = 2π(弧度) ==> 180(角度) = π(弧度)
2.3 补充
三.颜色
3.1几种创建或使用颜色的方式
3.1.1 java中定义颜色
int color = Color.GRAY; //灰色
由于Color类提供的颜色仅为有限的几个,通常还是用ARGB值进行表示
int color = Color.argb(127, 255, 0, 0); //半透明红色 int color = 0xaaff0000; //带有透明度的红色
3.1.2 在xml文件中定义颜色
在/res/values/color.xml 文件中如下定义:<?xml version="1.0" encoding="utf-8"?> <resources> <color name="red">#ff0000</color> <color name="green">#00ff00</color> </resources>
详解: 在以上xml文件中定义了两个颜色,红色和蓝色,是没有alpha(透明)通道的。
定义颜色以‘#’开头,后面跟十六进制的值,有如下几种定义方式:
#f00 //低精度 - 不带透明通道红色 #af00 //低精度 - 带透明通道红色 #ff0000 //高精度 - 不带透明通道红色 #aaff0000 //高精度 - 带透明通道红色
3.1.3 在java文件中引用xml中定义的颜色:
int color = getResources().getColor(R.color.mycolor); int color = getColor(R.color.myColor); //API 23 及以上支持该方法
3.14.在xml文件(layout或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"
相关文章推荐
- 自定义View学习笔记01—基础理论
- iOS学习笔记-053.自定义View01——基础
- Android View学习笔记(一):View基础知识
- 《Android 开发艺术探索》——View 事件体系--View基础知识 (学习笔记)
- Linux基础知识学习笔记(一)--文件系统的权限管理
- 《JAVA2核心技术 卷一 基础知识(原书第七版)》《Core java2,Volume I-Fondamentsls Seven Edition》 学习笔记(三)对象的克隆
- Android Map开发基础知识学习笔记
- Linq学习笔记1(基础知识)
- 《JAVA2核心技术 卷一 基础知识(原书第七版)》《Core java2,Volume I-Fondamentsls Seven Edition》 学习笔记(一)
- JAVA学习笔记(基础知识)
- C++学习笔记---------基础知识sizeof用法
- Castle学习笔记一:基础知识
- extjs 学习笔记(一) 一些基础知识
- [ITIL学习笔记]ITIL基础知识
- Symbian C++学习笔记连载一:Symbian基础知识
- MVC学习笔记一:基础知识
- {传智播客} (学习笔记)--Oracle使用需要掌握的基础知识
- J2EE学习笔记三:EJB基础概念和知识
- 摄影基础知识学习笔记之光与色:白平衡 - 水中沙 - 博客大巴
- C++学习笔记——基础知识