android Rect类的使用
今天,讲讲Android的Rect类的使用。
public final class
Rect
extends Object
implements Parcelable
java.lang.Object | |
↳ | android.graphics.Rect |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Rect()
Create a new empty Rect.
|
|||||||||||
Rect(int left, int top, int right, int bottom)
Create a new rectangle with the specified coordinates.
|
|||||||||||
Rect(Rect r)
Create a new rectangle, initialized with the values in the specified rectangle (which is left unmodified).
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
final int | centerX()获取矩阵中心点(x,y) | ||||||||||
final int | centerY() | ||||||||||
boolean |
contains(int x, int y)是否包含(x,y)点
Returns true if (x,y) is inside the rectangle.
|
||||||||||
boolean |
contains(int left, int top, int right, int bottom)是否包含(int left, int top, int right, int bottom)矩阵
Returns true iff the 4 specified sides of a rectangle are inside or equal to this rectangle.
|
||||||||||
boolean |
contains(Rect r)
Returns true iff the specified rectangle r is inside or equal to this rectangle.
|
||||||||||
int |
describeContents()
Parcelable interface methods
|
||||||||||
boolean |
equals(Object obj)
Compares this instance with the specified object and indicates if they are equal.
|
||||||||||
final float | exactCenterX()该方法和CenterX()类似,只是该方法精确度比它高(返回float类型) | ||||||||||
final float | exactCenterY() | ||||||||||
String |
flattenToString()
Return a string representation of the rectangle in a well-defined format.
|
||||||||||
final int | height() | ||||||||||
void |
inset(int dx, int dy)
Inset the rectangle by (dx,dy).
|
||||||||||
boolean |
intersect(Rect r)
If the specified rectangle intersects this rectangle, return true and set this rectangle to that intersection, otherwise return false and do not change this rectangle.
|
||||||||||
boolean |
intersect(int left, int top, int right, int bottom)
If the rectangle specified by left,top,right,bottom intersects this rectangle, return true and set this rectangle to that intersection, otherwise return false and do not change this rectangle.
|
||||||||||
boolean |
intersects(int left, int top, int right, int bottom)
Returns true if this rectangle intersects the specified rectangle.
|
||||||||||
static boolean |
intersects(Rect a, Rect b)
Returns true iff the two specified rectangles intersect.
|
||||||||||
final boolean |
isEmpty()
Returns true if the rectangle is empty (left >= right or top >= bottom)
|
||||||||||
void |
offset(int dx, int dy)该矩阵在x轴和y轴分别发生的偏移量(很有用,可以上下移动矩阵)
Offset the rectangle by adding dx to its left and right coordinates, and adding dy to its top and bottom coordinates.
|
||||||||||
void |
offsetTo(int newLeft, int newTop)保持矩阵的宽高,矩阵的左上角偏移到(newLeft,newTop)该点
Offset the rectangle to a specific (left, top) position, keeping its width and height the same.
|
||||||||||
void |
readFromParcel(Parcel in)
Set the rectangle's coordinates from the data stored in the specified parcel.
|
||||||||||
void |
set(int left, int top, int right, int bottom)
Set the rectangle's coordinates to the specified values.
|
||||||||||
void |
set(Rect src)
Copy the coordinates from src into this rectangle.
|
||||||||||
void |
setEmpty()
Set the rectangle to (0,0,0,0)
|
||||||||||
boolean |
setIntersect(Rect a, Rect b)
If rectangles a and b intersect, return true and set this rectangle to that intersection, otherwise return false and do not change this rectangle.
|
||||||||||
void |
sort()
Swap top/bottom or left/right if there are flipped (i.e.
|
||||||||||
String |
toShortString()
Return a string representation of the rectangle in a compact form.
|
||||||||||
String |
toString()
Returns a string containing a concise, human-readable description of this object.
|
||||||||||
static Rect |
unflattenFromString(String str)
Returns a Rect from a string of the form returned by
flattenToString() , or null if the string is not of that form.
|
||||||||||
void |
union(int left, int top, int right, int bottom)
Update this Rect to enclose itself and the specified rectangle.
|
||||||||||
void |
union(Rect r)
Update this Rect to enclose itself and the specified rectangle.
|
||||||||||
void |
union(int x, int y)
Update this Rect to enclose itself and the [x,y] coordinate.
|
||||||||||
final int | width() | ||||||||||
void |
writeToParcel(Parcel out, int flags)
Write this rectangle to the specified parcel.
|
1. new Rect(150, 75, 260, 120)
这个构造方法需要四个参数这四个参数 指明了什么位置 ?我们就来解释怎么画 这个 矩形
这四个 参数 分别代表的意思是:left top right bottom 上下左右呗。啊,不是 是 左 上 右 下。 下面给大家解释
left : 矩形左边的X坐标 150
top: 矩形顶部的Y坐标 75
right : 矩形右边的X坐标 260
bottom: 矩形底部的Y坐标 120
说白了就是左上角的坐标是(150,75),右下角的坐标是(260,120),这样就好理解了
Rect rect= new Rect( 100 , 50 , 300 , 500 );
|
那么右下角(300,500)其实是不在这个矩形里面的,但是左上角(100,50)在,也就是说,这个矩形实际表示的区域是:(100,50,299,499)。另外,Rect计算出的Height和Width倒是对的。所以,在此告诫各位程序员,在涉及Rect运算的时候,尽量不要使用它的右下角左边,即right和bottom。因为他们是错的。当然,在你调用android自己的函数时,是可以使用的,因为Android里面一直保持这么奇葩的思维。
android Rect类的使用相关推荐
- Android Canvas类介绍和Android Draw Rect 坐标图示
当我们调整好画笔之后,现在需要绘制到画布上,这就得用Canvas类了.在Android中既然把Canvas当做画布,那么就可以在画布上绘制我们想要的任何东西.除了在画布上绘制之外,还需要设置一些关于画 ...
- android.graphics.Rect类的详解
标签: AndroidRect 分类: Android中文API(5) public final class Rect extends Object implements Parcelable j ...
- Android Canvas类
1. Canvas类 Canvas主要用于2D绘图,它提供了很多相应的drawXxx()方法,Canvas的获取方式有三种 重写View的onDraw(Canvas)方法 @Override prot ...
- Android Bundle类 学习总结
Android Bundle类 http://blog.csdn.net/randyjiawenjie/article/details/6651437 根据google官方的文档(http://dev ...
- pygame.rect中 Rect类 属性示意
部分pygame.rect源代码如下 class Rect(object):x: inty: inttop: intleft: intbottom: intright: inttopleft: Tup ...
- android Integer类的toString函数的使用
今天,简单讲讲android里如何使用Integer类的toString函数. 这个其实很简单,就是将整数转成字符串.不过之前一直使用的是String.value()来进行转换的.后来在为网上查 ...
- android AtomicBoolean类的使用
今天,简洁讲讲如何使用 AtomicBoolean这个类. 类 在java.util.concurrent.atomic包下,有AtomicBoolean , AtomicInteger, At ...
- Android生命周期帮助类,Android Service类与生命周期详细介绍_Android_脚本之家
Android Service类与生命周期 Service是Android四大组件与Activity最相似的组件,都代表可执行的程序,区别在于Service一直在后台运行且没有用户界面. 1.Ser ...
- Android 服务类Service 的详细学习
http://blog.csdn.net/vipzjyno1/article/details/26004831 Android服务类Service学习四大组建 目录(?)[+] 什么是服务 服务有什么 ...
最新文章
- PASCAL VOC工具包解读
- opencv-python视频处理之录制视频
- delphi编程模拟发送QQ2008消息!
- WordPress网站的问题
- c语言is stack empty,C语言实现栈的问题
- 关于2017届学长制作分享软件share(失物招领)的使用体验和需改进的内容
- 推荐JVM的9款编程语言杀手开发利器
- 投票选择eclipse.org的新界面
- 苹果怎么关闭系统自动更新_你知道怎么用安卓手机更省电吗?学会这样做,不难...
- shell - 查看天气
- python main调试_在main.py中调试显示这个是什么问题
- CentOS下apache绑定域名
- 想入行SAP咨询,最具性价比的方式
- 联想g485服务器未能登陆,Lenovo G485 USB3.0驱动程序安装不上的解决方法
- JS-SDK使用权限签名算法
- 计算机桌面计算机快捷方式不见,桌面快捷方式不见了,教您桌面快捷方式不见了怎么办...
- Linux学习6 脚本登录主机 数组 排序 系统负载查询命令 定期备份
- mac brew 启动服务时报错“Bootstrap failed: 5: Input/output error”
- 新站seo如何进行站内优化
- 计算机怎么移动游戏,Uplay游戏怎么搬移 Uplay游戏搬移方法介绍