Android 自定义View——View 基础知识

来源:互联网 发布:php有什么技术 编辑:程序博客网 时间:2024/05/08 22:44

1. 屏幕坐标系

1 在数学中常见的坐标系与屏幕默认坐标系的差别

这里写图片描述

这里写图片描述

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();

这里写图片描述

2.角度 弧度

在常见的数学坐标系中角度增大方向为逆时针,

在默认的屏幕坐标系中角度增大方向为顺时针。

故: 180度 = π弧度.

可得:

弧度 = 角度xπ/180

角度 = 弧度x180/π

3. 颜色

2.1. ARGB

A alpha 透明度
RGB 颜色 red green blue

ARGB 取值0-256 0x00 ——0xff;
其中A 从ox00-oxff 表示从透明到不透明;
RGB 从0x00-0xff表示颜色由浅入深;

当RGB全取最小值(0或0x000000)时颜色为黑色,全取最大值(255或0xffffff)时颜色为白色

2.2.在xml文件中定义颜色

在/res/values/color.xml 文件中如下定义:

2.3.在java文件中引用xml中定义的颜色:

int color = getResources().getColor(R.color.mycolor);

2.4.在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.颜色混合模式(Alpha通道相关)

混合模式供我们选择,用Paint.setXfermode,指定不同的PorterDuff.Mode

4.参考链接

http://blog.csdn.net/u013831257/article/details/50494832
http://blog.csdn.net/u013831257/article/details/50464152

0 0
原创粉丝点击