Android View体系总结

Android View体系总结

前言

Android View体系是界面编程的核心,他的重要性不亚于Android四大组件,View是Android中所有控件的基类,是一种界面层的控件的一种抽象,它代表了一个控件。

一、视图坐标系

1.Android坐标系的分类

Android 中的坐标系可以分为三类: 屏幕坐标系, 布局坐标系, 以及视图坐标系,这里我们详解视图坐标系。
所谓视图坐标系就是:该坐标系是在 view 绘制过程中, 绘制的内容将该坐标系作为参考, 来绘制 view.也就是内容在view里面的位置。

2.View中的方法

getTop():获取View自身顶边到其父布局顶边的距离
getLeft():获取View自身左边到其父布局左边的距离
getRight():获取View自身右边到其父布局左边的距离
getBottom():获取View自身底边到其父布局顶边的距离
以上方法得到的值都是 该view针对他所在父容器的坐标 (布局坐标系)
getHeight():获取View自身高度
getWidth():获取View自身宽度

view 又增加了一些关于 view 的属性
x, y: 标示 view 左上角的坐标, 其值为:x和y默认为0
x = mleft + tranlationX
y = mtop + tranlationY
translationX, translationY: 表示 view 位置的偏移量(相对于原位置), 初始值为0
该坐标系主要用在 view 的动画操作上面,这样可以控制view整个内容的偏移

3.MotionEvent当中的方法

getY(): 获取点击事件相对控件左边的x轴坐标,即点击事件距离控件左边的距离
getY():获取点击事件相对控件顶边的y轴坐标,即点击事件距离控件顶边的距离
getRawX():获取点击事件相对整个屏幕左边的x轴坐标,即点击事件距离整个屏幕左边的距离
getRawY():获取点击事件相对整个屏幕顶边的y轴坐标,即点击事件距离整个屏幕顶边的距离

二、实现View滑动的六种方法

1.通过Layout方法来实现滑动

在View绘制的时候,系统都会调用layout(int l, int t, int r, int b)方法来确定View的具体位置。系统既然是这样来设置View的位置的,那么我们也可以通过调用layout(int l, int t, int r, int b)`方法修改left,top,right,bottom这四个属性来控制View的位置。

在这里插入图片描述
当然使用 getX()、getY()方法和使用getRawX()、geRawtY()的效果是一样的,只不过前者使用的是相对位置,而后者使用的是绝对位置。
但是要注意,在使用绝对坐标系的时候,每次执行完 ACTION_MOVE的逻辑后,一定要重新设置初始坐标,这样才能获得准确的偏移量。
在这里插入图片描述

2.通过offsetLeftAndRight()与offsetTopAndBottom()来实现滑动

这两种方法和layout()方法效果方法差不多,具体案例参照:https://github.com/zq12119/ViewActiv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值