58

我有一个 Android 项目,我应该让苹果倒下。苹果被画成一个矩形。所以我创建了一个改变 Rect 位置并重新绘制的函数。这是我的功能:

private void updateApplesPosition() {
    for(Rect rect:fallingDownFruitsList)
        rect.set(rect.left, rect.top +10, rect.right, rect.bottom +10);
}

我有一个问题:苹果不会掉下来,而是从右到左。为了让苹果掉下来,我改变了代码:

private void updateApplesPosition() {
    for(Rect rect:fallingDownFruitsList)
        rect.set(rect.left+10, rect.top, rect.right+10, rect.bottom);
}
4

3 回答 3

206

这张图会为你详细解释:

在此处输入图像描述

left 矩形左侧的 X 坐标

top 矩形顶部的 Y 坐标

right矩形右侧的 X 坐标

bottom 矩形底部的 Y 坐标

在此处输入图像描述

于 2014-10-08T09:21:48.100 回答
3

从文档

参数

left 矩形左侧的 X 坐标

top 矩形顶部的 Y 坐标

right矩形右侧的 X 坐标

bottom 矩形底部的 Y 坐标

于 2014-03-23T10:05:11.220 回答
1

添加关键信息。

文档说:

请注意,右坐标和下坐标是互斥的。

因此,如果您的矩形是位置 10,10的单个像素

left = 10 :矩形左侧的 X 坐标

top = 10 :矩形顶部的 Y 坐标 = 10

right = 11 :矩形右侧的 X 坐标加一

bottom = 11 :矩形底部的 Y 坐标加一

请注意,右坐标和下坐标是互斥的。

方法 getWidth 是这样声明的

public final int width() { return right - left; }

正如预期的那样,这里它将返回 11 - 10 = 1。

https://developer.android.com/reference/android/graphics/Rect

于 2020-06-29T12:45:05.633 回答