您当前的位置: 首页 >  android

Kevin-Dev

暂无认证

  • 0浏览

    0关注

    544博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Android 自定义 View】布局过程(Layout)

Kevin-Dev 发布时间:2020-01-07 22:15:45 ,浏览量:0

文章目录
    • 坐标系
      • 1. 屏幕坐标系
      • 2. View 的坐标系
      • 3. MotionEvent 中 get 和 getRaw 的区别
    • 角度
      • 1. 角度
      • 2. 弧度
      • 3. 角度和弧度的换算关系
    • 颜色
      • 1. 安卓支持的颜色
      • 2. 几种创建或使用颜色的方式
      • 3. 取色工具

坐标系 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. 几种创建或使用颜色的方式
  1. java 中定义颜色
int color = Color.GRAY;     //灰色
  1. xml 文件中定义颜色 在 /res/values/color.xml 文件中如下定义:


    #ff0000
    #00ff00

  1. java 文件中引用 xml 中定义的颜色:
int color = getResources().getColor(R.color.mycolor);
  1. xml 文件(layoutstyle)中引用或者创建颜色


    @color/red

android:background="@color/red"     //引用在/res/values/color.xml 中定义的颜色

android:background="#ff0000"        //创建并使用颜色
3. 取色工具

1.ColorPix(for Win) 简单的取色调色工具,可以从屏幕取色,非常小而精简。

点击这里下载 ColorPix

2.Picpick(for Win) PicPick具备了截取全屏、活动窗口、指定区域、固定区域、手绘区域功能,支持滚动截屏,屏幕取色,支持双显示器,具备白板、屏幕标尺、直角座标或极座标显示与测量,具备强大的图像编辑和标注功能。

点击这里获取 PicPick

关注
打赏
1658837700
查看更多评论
立即登录/注册

微信扫码登录

0.0538s