gpt4 book ai didi

Android - 了解 View.getLocalVisibleRect(Rect)

转载 作者:IT老高 更新时间:2023-10-28 22:26:36 30 4
gpt4 key购买 nike

我正在寻找任何线索来理解这种方法。

official Android's SDK documentation 中没有信息关于它。

它返回什么样的 Rectangle?

它是否像 MotionEvent 中那样充满原始坐标?

如果这个 View 不可见怎么办?它返回null吗?还是一些带有某种 VIEW_INVISIBLE 值的矩形?

任何有使用此方法经验的人都可以帮帮我吗?

最佳答案

来自 JavaDoc of getGlobalVisibleRect :

/**
* If some part of this view is not clipped by any of its parents, then
* return that area in r in global (root) coordinates. To convert r to local
* coordinates (without taking possible View rotations into account), offset
* it by -globalOffset (e.g. r.offset(-globalOffset.x, -globalOffset.y)).
* If the view is completely clipped or translated out, return false.
*
* @param r If true is returned, r holds the global coordinates of the
* visible portion of this view.
* @param globalOffset If true is returned, globalOffset holds the dx,dy
* between this view and its root. globalOffet may be null.
* @return true if r is non-empty (i.e. part of the view is visible at the
* root level.
*/

getLocalVisibleRect 调用 getGlobalVisibleRect ,然后按照建议将其设为本地:

r.offset(-offset.x, -offset.y); // make r local`

所以:

  • 它不返回一个矩形,它返回一个 bool 值。但是它可以设置你传递的一个矩形的参数,并且必须是一个android.graphics.Rect矩形;
  • 矩形 r 将被局部坐标填充;
  • 我不确定,但我认为可见 View 和不可见 View 是一样的,而对于具有 visibility="gone"
  • 的 View ,它应该返回 false

关于Android - 了解 View.getLocalVisibleRect(Rect),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10451018/

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