View的事件体系——View的基础知识

View的基础知识

View不属于Android四大组件,但是它的作用甚至超过了四大组件,当Android系统所提供的基础控件不能满足我们的需求时,我们就需要自定义View来满足我们的需求,这就需要我们对View体系有深入的理解。

为了更好地了解View的内容,我们将介绍:View的位置参数MotionEventTouchSlop对象VelocityTracker对象GestureDetector对象Scroller对象

1.什么是View

众所周知,Android中有许许多多的基础控件,例如:Button,TextView,RelativeLayout,ListView…它们的基类其实都是View。

View是一种界面层的控件的一种抽象,它代表了一个控件。

除了View,还有ViewGroup,正如其名,它是一个控件组,也就是说它内部包含了许多控件,即一组View。在Android的设计中,ViewGroup也继承于View,这就意味着View既可以是单个控件,也可以是一组控件形成的控件组,这也就形成了View树的结构,其类似于Web前端中的DOM树。

为了更好的理解View的概念,我们用Button和LinearLayout来说明:
Button显然是一个View,LinearLayout不仅是View也是一个ViewGroup,而且其内部可以有很多个View,这些子View同样也可以是一个ViewGroup(即Layout的多层嵌套),依次类推。

2.View的位置参数

View的位置主要由他的四个顶点来决定,分别对应于View的四个属性:

  1. top:左上角纵坐标
  2. left:左上角横坐标
  3. right:右下角横坐标
  4. bottom:右下角纵坐标

x轴和y轴的分布以及四个属性值的含义,如下图所示:
在这里插入图片描述
需要注意的是这些坐标都是相对于View的父容器来说的,因此它是一种相对坐标

由上图可知:

width = right - left;
height = bottom - top;

这四个参数我们可以通过如下方法得到:

View v = ....//假设v是一个View实例
int top = v.getTop();
int left = v.getLeft();
int right = v.getRight();
int bottom = v.getBottom();

从Android3.0开始,View增加了额外的几个参数:x, y, translationX, translationY .
其中x,y是View左上角的坐标,而translationX和translatio

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值