博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android自定义View——坐标系
阅读量:7049 次
发布时间:2019-06-28

本文共 1113 字,大约阅读时间需要 3 分钟。

在开发过程中有的时候我们会实现一些特殊功能,如组件滑动到一定距离隐藏或显示、图片置顶等等,这个时候view的坐标就派上了用场了;同样在自定义控件的时候,坐标系也是经常用到的,下面记录一下在复习过程中view坐标系的一些知识。

目录

  • view的四个顶点坐标
  • view的x、y、translationX、translationY坐标
  • MotionEvent获取坐标

1. view的四个顶点坐标

view的位置主要由四个顶点坐标来决定,并且这个四个坐标都是相当坐标,view在移动过程中,它们的值不会发生变化。

注:图1灰色部分为view相对于其父容器的四个顶点坐标

四个顶点坐标分别为:

getTop();       //获取子View左上角距父View顶部的距离getLeft();      //获取子View左上角距父View左侧的距离getBottom();    //获取子View右下角距父View顶部的距离getRight();     //获取子View右下角距父View左侧的距离复制代码

view的宽高计算:

//宽=right-leftint width = getRight() - getLeft();//框架自带int width2 = getWidth();//高=bottom-topint height = getBottom() - getTop();int height2 = getHeight();复制代码

2. view的x、y、translationX、translationY坐标

android3.0之后为view增加了x、y、translationX、translationY坐参数(上面图2)。其中x、y为view左上角的坐标,translationX、translationY是view左上角相对于父容器的偏移量,它们默认值为0。

//x、y的计算float x = getLeft() + getTranslationX();float x2 = getX();float y = getTop() + getTranslationY();float y2 = getY();复制代码

3. MotionEvent获取坐标

MotionEvent主要用于处理用户触摸屏幕后的交互。其获取的坐标信息如下:

注:图1红色部分为MotionEvent获取的坐标信息

//触摸点相对于其所在组件的相对坐标event.getX();      event.getY();//触摸点相对于屏的绝对坐标event.getRawX();    event.getRawY();复制代码

转载地址:http://urpol.baihongyu.com/

你可能感兴趣的文章
【java】json格式解析
查看>>
4_1 wp8数据绑定与独立存储空间[wp8特色开发与编程技巧]
查看>>
Linux开始结束ping命令
查看>>
openfire invalid sid 404
查看>>
开源一款私藏Management Studio插件,ProjkyAddin,送给所有使用SQLServer的园友们
查看>>
jQuery判断checkbox是否选中的3种方法
查看>>
在sublime Text 3上编写并运行java程序
查看>>
LinkedList源码分析
查看>>
【算法介绍】哈希排序算法
查看>>
js数组操作(增、删、改、查)
查看>>
UpdatePanel and JQuery Plugin
查看>>
centos5.7下的kdump
查看>>
[JavaEE笔记]Cookie
查看>>
【HDOJ】1987 Decoding
查看>>
ELK+Filebeat (1)
查看>>
leetcode 443. String Compression
查看>>
在没联网环境下,启动tomcat出错
查看>>
关于Git bash-127.0.0.7:8888拒绝访问的小问题--环境变量
查看>>
Java EE(七)
查看>>
javascript变量声明提升(hoisting)
查看>>