鸿蒙OS RectFloat
RectFloat
java.lang.Object
|---ohos.agp.utils.RectFloat
public class RectFloat
extends Object
指示使用浮点坐标的矩形。
此类描述矩形的位置、宽度和高度。
Since:
3
嵌套类摘要
修饰符和类型 | 类 | 描述 |
---|---|---|
static class | RectFloat.RotationEnum | 表示旋转角度。 |
字段摘要
修饰符和类型 | 字段 | 描述 |
---|---|---|
float | bottom | 表示矩形右下角的Y坐标。 |
float | left | 表示矩形左上角的X坐标。 |
float | right | 表示矩形右下角的X坐标。 |
float | top | 表示矩形左上角的Y坐标。 |
构造函数摘要
构造函数 | 描述 |
---|---|
RectFloat() | 用于创建 RectFloat 实例的默认构造函数。 |
RectFloat(float left, float top, float right, float bottom) | 用于创建 RectFloat 实例的构造函数。 |
RectFloat(Rect rect) | 用于通过使用具有整数坐标的矩形来创建 RectFloat 实例的构造函数。 |
RectFloat(RectFloat rectFloat) | 用于通过使用具有浮点坐标的矩形创建 RectFloat 实例的构造函数。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
void | clear() | 清除此 RectFloat。 |
String | convertRectToSignedValue() | 将此矩形转换为指定模式“left,top”中的有符号浮点字符串。 |
boolean | equals(Object o) | 指示其他对象是否“等于”这个对象。 |
void | fuse(float xCoor, float yCoor) | 组合这个矩形和指定的点。 |
void | fuse(float left, float top, float right, float bottom) | 将此 RectFloat 与保存给定坐标的指定矩形融合。 |
void | fuse(RectFloat rectFloat) | 将此 RectFloat 与指定的矩形融合。 |
Point | getCenter() | 获取此 RectFloat 的中心点。 |
float | getHeight() | 获取此 RectFloat 的高度。 |
float | getHorizontalCenter() | 获取此 RectFloat 的水平中心坐标。 |
boolean | getIntersectRect(RectFloat rectFloat) | 检查此 RectFloat 是否与指定的矩形相交,如果它们相交,则将此 RectFloat 设置为该相交。 |
Point | getPivot() | 获得一个枢轴点。 |
float | getPivotXCoordinate() | 获取枢轴的 x 坐标,此 RectFloat 围绕该坐标旋转和缩放。 |
float | getPivotYCoordinate() | 获取枢轴的 y 坐标,此 RectFloat 围绕该坐标旋转和缩放。 |
DimensFloat | getRectSize() | 获取此 RectFloat 的大小。 |
float | getVerticalCenter() | 获取此 RectFloat 的垂直中心的坐标。 |
float | getWidth() | 获取此 RectFloat 的宽度。 |
int | hashCode() | 返回对象的哈希码值。 |
boolean | isEmpty() | 检查此 RectFloat 是否为空。 |
boolean | isInclude(float x, float y) | 检查指定点是否在此 RectFloat 内。 |
boolean | isInclude(float left, float top, float right, float bottom) | 检查指定的矩形是否在此 RectFloat 内。 |
boolean | isInclude(Point point) | 检查指定点是否在此 RectFloat 内。 |
boolean | isInclude(RectFloat rectFloat) | 检查指定的矩形是否在此 RectFloat 内。 |
boolean | isIntersect(float left, float top, float right, float bottom) | 根据 left、top、right 和 bottom 检查指定的矩形是否与此 RectFloat 相交。 |
boolean | isIntersect(RectFloat rect) | 检查指定矩形是否与此 RectFloat 相交。 |
static boolean | isIntersect(RectFloat rectFloatA, RectFloat rectFloatB) | 检查两个指定的矩形是否相交。 |
void | modify(float left, float top, float right, float bottom) | 根据指定矩形的位置修改此 RectFloat 的位置。 |
void | modify(Rect rect) | 根据具有整数坐标的指定矩形的位置修改此 Rect 的位置。 |
void | modify(RectFloat rectFloat) | 根据具有浮点坐标的指定矩形的位置修改此 RectFloat 的位置。 |
RectFloat | obtainIntersectRect(float left, float top, float right, float bottom) | 获取此 RectFloat 与基于左、上、右、下的指定矩形的交集矩形。 |
RectFloat | obtainIntersectRect(RectFloat rectFloat) | 获取此 RectFloat 与指定矩形的交集矩形。 |
void | reorder() | 如果矩形无效,则交换上下边界和/或左右边界。 |
void | rotateBy(RectFloat.RotationEnum rotationEnum) | 围绕枢轴旋转此 RectFloat。 |
void | rounding(Rect rect) | 将此 RectFloat 的浮点坐标四舍五入到最接近的整数坐标,并创建一个矩形来保存新坐标。 |
void | scale(float scale) | 围绕枢轴缩放此 RectFloat。 |
boolean | setIntersect(RectFloat rectFloatA, RectFloat rectFloatB) | 将此 RectFloat 设置为彼此相交的两个指定矩形的交点。 |
void | setPivot(float x, float y) | 设置此 RectFloat 的轴心。 |
void | setPivot(Point point) | 设置枢轴,此 RectFloat 围绕该枢轴旋转并基于点进行缩放。 |
void | setPivotXCoordinate(float x) | 设置枢轴的 x 坐标,此 RectFloat 围绕该坐标旋转和缩放。 |
void | setPivotYCoordinate(float y) | 设置枢轴的 y 坐标,此 RectFloat 围绕该坐标旋转和缩放。 |
void | shrink(float dx, float dy) | 收缩这个 RectFloat。 |
String | toString() | 返回对象的字符串表示形式。 |
void | translate(float dx, float dy) | 翻译这个 RectFloat。 |
void | translateCenterTo(float centerX, float centerY) | 将此 RectFloat 的中心平移到新位置。 |
void | translateCenterTo(Point point) | 将此 RectFloat 的中心平移到基于点的新位置。 |
void | translateTo(float newLeft, float newTop) | 将此 RectFloat 转换到新位置。 |
boolean | verifyRectFloat() | 检查此 RectFloat 是否有效。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
字段详细信息
bottom
public float bottom
表示矩形右下角的Y坐标。
left
public float left
表示矩形左上角的X坐标。
right
public float right
表示矩形右下角的X坐标。
top
public float top
表示矩形左上角的Y坐标。
构造函数详细信息
RectFloat
public RectFloat()
用于创建 RectFloat 实例的默认构造函数。
初始值为 (0.0, 0.0, 0.0, 0.0)。
RectFloat
public RectFloat(float left, float top, float right, float bottom)
用于创建 RectFloat 实例的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
left | 表示左上角的 X 坐标。 |
top | 表示左上角的 Y 坐标。 |
right | 表示右下角的 X 坐标。 |
bottom | 表示右下角的 Y 坐标。 |
RectFloat
public RectFloat(Rect rect)
用于通过使用具有整数坐标的矩形来创建 RectFloat 实例的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
rect | 表示具有整数坐标的矩形。 |
Since:
3
RectFloat
public RectFloat(RectFloat rectFloat)
用于通过使用具有浮点坐标的矩形创建 RectFloat 实例的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
rectFloat | 指示具有浮点坐标的矩形。 |
Since:
3
方法详情
getHorizontalCenter
public final float getHorizontalCenter()
获取此 RectFloat 的水平中心坐标。
返回:
返回此 RectFloat 水平中心的坐标。
Since:
3
getVerticalCenter
public final float getVerticalCenter()
获取此 RectFloat 的垂直中心的坐标。
返回:
返回此 RectFloat 的垂直中心的坐标。
Since:
3
getCenter
public Point getCenter()
获取此 RectFloat 的中心点。
返回:
返回中心点。
Since:
4
setPivot
public void setPivot(float x, float y)
设置此 RectFloat 的轴心。
参数:
参数名称 | 参数描述 |
---|---|
x | 指示要设置的枢轴的 x 坐标。 |
y | 指示要设置的枢轴的 y 坐标。 |
Since:
4
setPivot
public void setPivot(Point point)
设置枢轴,此 RectFloat 围绕该枢轴旋转并基于点进行缩放。
参数:
参数名称 | 参数描述 |
---|---|
point | 指示要设置的枢轴的坐标。 |
Since:
4
setPivotXCoordinate
public void setPivotXCoordinate(float x)
设置枢轴的 x 坐标,此 RectFloat 围绕该坐标旋转和缩放。
参数:
参数名称 | 参数描述 |
---|---|
x | 指示要设置的枢轴的 x 坐标。 |
Since:
4
setPivotYCoordinate
public void setPivotYCoordinate(float y)
设置枢轴的 y 坐标,此 RectFloat 围绕该坐标旋转和缩放。
参数:
参数名称 | 参数描述 |
---|---|
y | 指示要设置的枢轴的 y 坐标。 |
Since:
4
getPivot
public Point getPivot()
获得一个枢轴点。
返回:
返回枢轴点。
Since:
4
getPivotXCoordinate
public float getPivotXCoordinate()
获取枢轴的 x 坐标,此 RectFloat 围绕该坐标旋转和缩放。
返回:
返回枢轴的 x 坐标。
Since:
4
getPivotYCoordinate
public float getPivotYCoordinate()
获取枢轴的 y 坐标,此 RectFloat 围绕该坐标旋转和缩放。
返回:
返回枢轴的 y 坐标。
Since:
4
scale
public void scale(float scale)
围绕枢轴缩放此 RectFloat。
参数:
参数名称 | 参数描述 |
---|---|
scale | 表示刻度值。 |
Since:
4
rotateBy
public void rotateBy(RectFloat.RotationEnum rotationEnum)
围绕枢轴旋转此 RectFloat。
参数:
参数名称 | 参数描述 |
---|---|
rotationEnum | 指示旋转角度,如 RotationEnum 中所枚举。 |
Since:
4
isInclude
public boolean isInclude(float x, float y)
检查指定点是否在此 RectFloat 内。
参数:
参数名称 | 参数描述 |
---|---|
x | 表示指定点的X坐标。 |
y | 表示指定点的Y坐标。 |
返回:
如果指定点在此 RectFloat 内,则返回 true; 否则返回 false。
Since:
3
isInclude
public boolean isInclude(Point point)
检查指定点是否在此 RectFloat 内。
参数:
参数名称 | 参数描述 |
---|---|
point | 表示指定点。 |
返回:
如果指定点在此 RectFloat 内,则返回 true; 否则返回 false。
Since:
4
isInclude
public boolean isInclude(RectFloat rectFloat)
检查指定的矩形是否在此 RectFloat 内。
参数:
参数名称 | 参数描述 |
---|---|
rectFloat | 表示指定的矩形。 |
返回:
如果指定的矩形在此 RectFloat 内,则返回 true; 否则返回 false。
Since:
3
isInclude
public boolean isInclude(float left, float top, float right, float bottom)
检查指定的矩形是否在此 RectFloat 内。
参数:
参数名称 | 参数描述 |
---|---|
left | 表示指定矩形左上角的 x 坐标。 |
top | 指示指定矩形左上角的 y 坐标。 |
right | 指示指定矩形右下角的 x 坐标。 |
bottom | 指示指定矩形右下角的 y 坐标。 |
返回:
如果指定的矩形在此 RectFloat 内,则返回 true; 否则返回 false。
Since:
4
equals
public boolean equals(Object o)
指示其他对象是否“等于”这个对象。
equals 方法在非空对象引用上实现等价关系:
- 它是自反的:对于任何非空引用值 x,x.equals(x) 应该返回 true。
- 它是对称的:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应该返回 true。
- 它是可传递的:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true 并且 y.equals(z) 返回 true,则 x.equals(z) 应该返回 true。
- 它是一致的:对于任何非空引用值 x 和 y,x.equals(y) 的多次调用始终返回 true 或始终返回 false,前提是没有修改对象上 equals 比较中使用的信息。
- 对于任何非空引用值 x,x.equals(null) 应该返回 false。
Object 类的 equals 方法实现了对象上最有区别的可能等价关系; 也就是说,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象(x == y 的值为 true)时,此方法才返回 true。
请注意,每当重写该方法时,通常都需要重写 hashCode 方法,以维护 hashCode 方法的一般约定,即相等的对象必须具有相等的哈希码。
覆盖:
类 Object 中的等于
参数:
参数名称 | 参数描述 |
---|---|
o | 要与之比较的参考对象。 |
返回:
如果此对象与 obj 参数相同,则为 true; 否则为 false。
hashCode
public int hashCode()
返回对象的哈希码值。 支持这种方法是为了有利于哈希表,例如 HashMap 提供的那些。
hashCode 的一般合约是:
- 每当在 Java 应用程序执行期间对同一对象多次调用时,hashCode 方法必须始终返回相同的整数,前提是没有修改对象上相等比较中使用的信息。 该整数不需要从应用程序的一次执行到同一应用程序的另一次执行保持一致。
- 如果两个对象根据 equals(Object) 方法相等,则对两个对象中的每一个调用 hashCode 方法必须产生相同的整数结果。
- 如果根据 Object.equals(java.lang.Object) 方法,如果两个对象不相等,则不要求对两个对象中的每一个调用 hashCode 方法必须产生不同的整数结果。 但是,程序员应该意识到,为不相等的对象生成不同的整数结果可能会提高哈希表的性能。
在合理可行的情况下,由 Object 类定义的 hashCode 方法确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但 Java™ 编程语言不需要这种实现技术。)
覆盖:
类 Object 中的 hashCode
返回:
此对象的哈希码值。
getHeight
public final float getHeight()
获取此 RectFloat 的高度。
返回:
返回矩形高度。
Since:
3
getWidth
public final float getWidth()
获取此 RectFloat 的宽度。
返回:
返回矩形宽度。
Since:
3
getRectSize
public DimensFloat getRectSize()
获取此 RectFloat 的大小。
返回:
返回大小。
Since:
4
shrink
public void shrink(float dx, float dy)
收缩这个 RectFloat。
参数:
参数名称 | 参数描述 |
---|---|
dx | 表示要收缩的水平长度。 |
dy | 指示要收缩的垂直长度。 |
Since:
3
getIntersectRect
public boolean getIntersectRect(RectFloat rectFloat)
检查此 RectFloat 是否与指定的矩形相交,如果它们相交,则将此 RectFloat 设置为该相交。
参数:
参数名称 | 参数描述 |
---|---|
rectFloat | 表示指定的矩形。 |
返回:
如果此 RectFloat 与指定的矩形相交,则返回 true; 否则返回 false。
Since:
3
isIntersect
public static boolean isIntersect(RectFloat rectFloatA, RectFloat rectFloatB)
检查两个指定的矩形是否相交。
参数:
参数名称 | 参数描述 |
---|---|
rectFloatA | 表示要检查的一个矩形。 |
rectFloatB | 指示要检查的另一个矩形。 |
返回:
如果两个指定的矩形相交,则返回 true; 否则返回 false。
Since:
3
isIntersect
public boolean isIntersect(float left, float top, float right, float bottom)
根据 left、top、right 和 bottom 检查指定的矩形是否与此 RectFloat 相交。
参数:
参数名称 | 参数描述 |
---|---|
left | 表示指定矩形左上角的 x 坐标。 |
top | 指示指定矩形左上角的 y 坐标。 |
right | 指示指定矩形右下角的 x 坐标。 |
bottom | 指示指定矩形右下角的 y 坐标。 |
返回:
如果指定的矩形与此 RectFloat 相交,则返回 true; 否则返回 false。
Since:
4
isIntersect
public boolean isIntersect(RectFloat rect)
检查指定矩形是否与此 RectFloat 相交。
参数:
参数名称 | 参数描述 |
---|---|
rect | 表示指定的矩形。 |
返回:
如果指定的矩形与此 RectFloat 相交,则返回 true; 否则返回 false。
Since:
4
isEmpty
public final boolean isEmpty()
检查此 RectFloat 是否为空。
返回:
如果此 RectFloat 为空,则返回 true; 否则返回 false。
Since:
3
verifyRectFloat
public boolean verifyRectFloat()
检查此 RectFloat 是否有效。 如果left(矩形左上角的x坐标)小于right(矩形右下角的x坐标)且top(矩形左上角的y坐标)小于bottom,则认为矩形有效 (矩形右下角的 y 坐标)。
返回:
如果此 RectFloat 有效,则返回 true; 否则返回 false。
Since:
4
translate
public void translate(float dx, float dy)
翻译这个 RectFloat。
参数:
参数名称 | 参数描述 |
---|---|
dx | 指示要平移的水平长度。 |
dy | 指示要平移的垂直长度。 |
Since:
3
modify
public void modify(float left, float top, float right, float bottom)
根据指定矩形的位置修改此 RectFloat 的位置。
参数:
参数名称 | 参数描述 |
---|---|
left | 表示指定矩形左上角的X坐标。 |
top | 表示指定矩形左上角的Y坐标。 |
right | 表示指定矩形右下角的X坐标。 |
bottom | 表示指定矩形右下角的Y坐标。 |
Since:
3
modify
public void modify(Rect rect)
根据具有整数坐标的指定矩形的位置修改此 Rect 的位置。
参数:
参数名称 | 参数描述 |
---|---|
rect | 用整数坐标表示指定的矩形。 |
Since:
3
modify
public void modify(RectFloat rectFloat)
根据具有浮点坐标的指定矩形的位置修改此 RectFloat 的位置。
参数:
参数名称 | 参数描述 |
---|---|
rectFloat | 指示具有浮点坐标的指定矩形。 |
Since:
3
clear
public void clear()
清除此 RectFloat。
Since:
3
setIntersect
public boolean setIntersect(RectFloat rectFloatA, RectFloat rectFloatB)
将此 RectFloat 设置为彼此相交的两个指定矩形的交点。
参数:
参数名称 | 参数描述 |
---|---|
rectFloatA | 表示一个指定的矩形。 |
rectFloatB | 表示另一个指定的矩形。 |
返回:
如果两个指定的矩形相交,则返回 true; 否则返回 false。
Since:
3
toString
public String toString()
返回对象的字符串表示形式。 通常,toString 方法返回一个“以文本方式表示”该对象的字符串。 结果应该是一个简洁但信息丰富的表示,易于人们阅读。 建议所有子类重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由对象作为其实例的类的名称、at 符号字符“@”和对象哈希码的无符号十六进制表示形式组成。 换句话说,此方法返回一个等于以下值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
覆盖:
类 Object 中的 toString
返回:
对象的字符串表示形式。
fuse
public void fuse(float left, float top, float right, float bottom)
将此 RectFloat 与保存给定坐标的指定矩形融合。
参数:
参数名称 | 参数描述 |
---|---|
left | 表示指定矩形左上角的X坐标。 |
top | 表示指定矩形左上角的Y坐标。 |
right | 表示指定矩形右下角的X坐标。 |
bottom | 表示指定矩形右下角的Y坐标。 |
Since:
3
fuse
public void fuse(RectFloat rectFloat)
将此 RectFloat 与指定的矩形融合。
参数:
参数名称 | 参数描述 |
---|---|
rectFloat | 表示指定的矩形。 |
Since:
3
fuse
public void fuse(float xCoor, float yCoor)
组合这个矩形和指定的点。
参数:
参数名称 | 参数描述 |
---|---|
xCoor | 表示指定点的X坐标。 |
yCoor | 表示指定点的Y坐标。 |
Since:
5
translateTo
public void translateTo(float newLeft, float newTop)
将此 RectFloat 转换到新位置。
参数:
参数名称 | 参数描述 |
---|---|
newLeft | 表示新位置矩形左上角的X坐标。 |
newTop | 表示新位置矩形左上角的Y坐标。 |
Since:
3
translateCenterTo
public void translateCenterTo(float centerX, float centerY)
将此 RectFloat 的中心平移到新位置。
参数:
参数名称 | 参数描述 |
---|---|
centerX | 指示矩形新中心的 x 坐标。 |
centerY | 指示矩形新中心的 y 坐标。 |
Since:
4
translateCenterTo
public void translateCenterTo(Point point)
将此 RectFloat 的中心平移到基于点的新位置。 param point 表示表示新位置的点的坐标。
Since:
4
rounding
public void rounding(Rect rect)
将此 RectFloat 的浮点坐标四舍五入到最接近的整数坐标,并创建一个矩形来保存新坐标。
此 RectFloat 左上角的 X 坐标向下舍入到最接近的整数值作为要创建的矩形左上角的 X 坐标。
此 RectFloat 左上角的 Y 坐标向下舍入到最接近的整数值作为要创建的矩形左上角的 Y 坐标。
这个 RectFloat 的右下角的 X 坐标被四舍五入到最接近的整数值作为要创建的矩形的右下角的 X 坐标。
将此 RectFloat 的右下角的 Y 坐标四舍五入到最接近的整数值作为要创建的矩形的右下角的 Y 坐标。
参数:
参数名称 | 参数描述 |
---|---|
rect | 指示要保存新坐标的矩形。 |
Since:
3
obtainIntersectRect
public RectFloat obtainIntersectRect(float left, float top, float right, float bottom)
获取此 RectFloat 与基于左、上、右、下的指定矩形的交集矩形。
参数:
参数名称 | 参数描述 |
---|---|
left | 表示指定矩形左上角的 x 坐标。 |
top | 指示指定矩形左上角的 y 坐标。 |
right | 指示指定矩形右下角的 x 坐标。 |
bottom | 表示指定矩形右下角的y坐标。 |
返回:
返回两个矩形的相交矩形。
Since:
4
convertRectToSignedValue
public String convertRectToSignedValue()
将此矩形转换为指定模式“left,top”中的有符号浮点字符串。
返回:
返回矩形的字符串表示形式。
Since:
5
reorder
public void reorder()
如果矩形无效,则交换上下边界和/或左右边界。
Since:
5
obtainIntersectRect
public RectFloat obtainIntersectRect(RectFloat rectFloat)
获取此 RectFloat 与指定矩形的交集矩形。
参数:
参数名称 | 参数描述 |
---|---|
rectFloat | 表示指定的矩形。 |
返回:
返回两个矩形的相交矩形。
Since:
4