gpt4 book ai didi

java - Android Rect 宽度和高度与原始尺寸不同

转载 作者:行者123 更新时间:2023-11-30 01:14:18 25 4
gpt4 key购买 nike

我正在追踪一个问题,即为什么 Rect.intersects 函数在我的 Android 应用程序中不起作用,并发现我的一个矩形的宽度和高度不正确。

ImageView tt = (ImageView)findViewById(R.id.tt);
Rect newInRect = new Rect(421, tt.getTop(), tt.getRight(), tt.getBottom());
Log.d("Size comparison", String.format("getRight %d, getLeft: %d | Width: %d, Height: %d", tt.getRight(), tt.getLeft(), newInRect.width(), newInRect.height()));

输出为:“尺寸比较:getRight 296,getLeft:144 | Width:-124,Height:152”

getRight() 和 getBottom() 函数不是代表宽度和高度吗?为什么他们返回不同的值?哪一个是正确的?我的目的是使 Rect 与名为 tt 的 ImageView 的大小完全相同,但具有不同的 X 坐标。我该怎么做?

最佳答案

不,查看 Rect 的实现:

 /**
* @return the rectangle's width. This does not check for a valid rectangle
* (i.e. left <= right) so the result may be negative.
*/
public final int width() {
return right - left;
}

/**
* @return the rectangle's height. This does not check for a valid rectangle
* (i.e. top <= bottom) so the result may be negative.
*/
public final int height() {
return bottom - top;
}

您只是在比较错误的值。尝试比较两种情况下的宽度和高度(Rect)。

关于java - Android Rect 宽度和高度与原始尺寸不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38098551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com