Android Rect介绍
原文地址:Android 图形基础类Rect,扎实基础助腾飞_王亟亟的博客-CSDN博客
Rect
这是一个我们常用的一个“绘画相关的工具类”,常用语描述长方形/正方形,他只有4个属性
public int left;public int top;public int right;public int bottom;
这4个属性描述着这一个“方块”,但是这有一个知识点需要理清楚,先看这张图
本Rect最左侧到屏幕的左侧的距离是 left
本Rect最上面到屏幕上方的距离是 top
本Rect最右侧到屏幕左侧的距离是 right
本Rect最下面到屏幕上方的距离是 bottom
这四个属性不单单描述了这个 长方形4个点的坐标,间接的描述出这个长方形的尺寸
长 = bottom - top
宽 = right - left
这部分的知识可以看:What does top, left, right and bottom mean in Android Rect object - Stack Overflow
构造函数
public Rect() { }public Rect(int left, int top, int right, int bottom) {this.left = left;this.top = top;this.right = right;this.bottom = bottom;}public Rect(Rect r) {if (r == null) {left = top = right = bottom = 0;} else {left = r.left;top = r.top;right = r.right;bottom = r.bottom;}}
3个构造函数都是围绕着初始化这4个属性来做的,无论是传过来一个新Rect对象,还是传入具体的尺寸。
常用的那些方法
获取“宽”
public final int width() {return right - left;}
获取“高”
public final int height() {return bottom - top;}
有效性的判断
因为left是最左侧,right比left还小不就不成形了么?
宽高同是如此
public final boolean isEmpty() {return left >= right || top >= bottom;}
全部置0操作
public void setEmpty() {left = right = top = bottom = 0;}
设置参数方法,和构造函数的区别仅在于不会创建新对象
public void set(int left, int top, int right, int bottom) {this.left = left;this.top = top;this.right = right;this.bottom = bottom;}
整体实现不是很复杂,就是为了形容描绘,实现一个 “长方形”的概念。
Android Rect介绍相关推荐
- android AsyncTask介绍(转)
android AsyncTask介绍 AsyncTask和Handler对比 1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接 ...
- android Rect类的使用
今天,讲讲Android的Rect类的使用. public final class Rect extends Object implements Parcelable java.lang.Object ...
- Android类库介绍
Android类库介绍 GPhone开发包Android SDK含了很多丰富的类库: android.util 涉及系统底层的辅助类库 android.os 提供了系统服务.消息传输.IPC管道 an ...
- 1.android体系结构介绍
一.Android的介绍 android介绍见百度百科:Android的介绍,度娘把Android介绍的这么清楚,如果谷歌是Android的爹,那度娘就是娘了. 二.Android的架构图 andro ...
- 【转】Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析
原文网址:http://blog.csdn.net/xubin341719/article/details/38584469 关键词:蓝牙blueZ A2DP.SINK.sink_connect.s ...
- 作业Android自我介绍
***Android自我介绍***
- Android HIDL 介绍学习之客户端调用
应上一篇文章Android HIDL 介绍学习_Super Jang的博客-CSDN博客_安卓hidl读者的要求,本文更新客户端调用方法. hidl的客户端调用相比服务端的实现要简单很多,本次我们通过 ...
- Android开发介绍
Android开发介绍 这个教程设计是帮助你学习基础的Android开发和快速搭建您的开发环境.这个是在我的Window 7上编写的,当然它也支持Linux(uBuntu).Mac OS其他支持And ...
- android 模拟器的使用(Android模拟器介绍及创建)
做了这么久的android开发,一直想把在开发过程中积累的经验或问题总结一下,可是都没有时间,现在有一点点空闲,所以慢慢把我在android中遇到的问题整理一下写出来,供自己以后参考,也希望和大家一起 ...
- Android bluetooth介绍(一):基本概念及硬件接口
关键词:蓝牙硬件接口 UART PCM blueZ 版本:基于android4.2之前版本 bluez 内核:linux/linux3.08 系统:android/android4.1.3.4 ...
最新文章
- Codeforces Round #563 (Div. 2)/CF1174
- 基于PyTorch,如何构建一个简单的神经网络
- 关于Java实现去除连续空格的延伸
- tomcat需要设置环境变量吗
- 【干货】Sketch+Keynote双剑合璧:5步快速制作移动动效
- python 服务端与c++客户端通讯_[原创]python socket 服务端 与 c++客户端通讯,发包内容加密,支持大文件,并发...
- wxPython控件学习之StaticText静态文本框
- Python——eventlet.greenpool
- Python菜鸟入门:day09数据结构
- 有没有网上python一对一-使用Python的Tornado框架实现一个一对一聊天的程序
- mysql innodb 幻读_MySQL InnoDB四个事务级别 与 脏读、不重复读、幻读
- Layui 数据表格table 重载reload 保留上次where条件的问题
- 点赋科技:网店的营销策略是什么?
- php域名绑定模块,ThinkPHP5.1 域名绑定模块
- [转载]历上最强的音乐播放器(jetAudio-8.0.5.320-Plus-VX
- 游戏开发经验之开源游戏盈利的十个有效途径
- FPS游戏外挂屡禁不止,如何破局?
- vue后端返回数据流 前端导出下载xls文件
- 在MOSS中开发和部署Infopath
- matlab编一个福利彩票电脑选号的程序,第14讲 计算机模拟_云南师范大学:数学建模与数学实验(费培之)_ppt_大学课件预览_高等教育资讯网...
热门文章
- plot 串口助手,DataScope软件的数据,导入matlab绘图。温度曲线
- 选课系统服务器,选课系统概要设计
- Go 开发关键技术指南 | 带着服务器编程金刚经走进 2020 年(内含超全知识大图)
- 网站克隆工具-httrack安装使用教程
- 巧用JMP公式,让新变量的生成更简单
- PHP时间戳和日期相互转换操作总结
- View的复用:viewHolder
- EverNote 极致的免费笔记资料管理软件 (数据网络同步、支持PC、Mac与手机多平台) 转自:http://www.iplaysoft.com/evernote.html
- 点滴记录笔记_持续更新
- sketchup的SKP格式转到导入supermap需要的GLTF格式