Android:如何检查 ScrollView 内的 View 是否可见?

标签 android scrollview visible

我有一个 ScrollView,其中包含一系列 Views。我希望能够确定一个 View 当前是否可见(如果它的任何部分当前由 ScrollView 显示)。我希望下面的代码可以做到这一点,令人惊讶的是它没有:

Rect bounds = new Rect();
view.getDrawingRect(bounds);

Rect scrollBounds = new Rect(scroll.getScrollX(), scroll.getScrollY(), 
        scroll.getScrollX() + scroll.getWidth(), scroll.getScrollY() + scroll.getHeight());

if(Rect.intersects(scrollBounds, bounds))
{
    //is  visible
}

最佳答案

这行得通:

Rect scrollBounds = new Rect();
scrollView.getHitRect(scrollBounds);
if (imageView.getLocalVisibleRect(scrollBounds)) {
    // Any portion of the imageView, even a single pixel, is within the visible window
} else {
    // NONE of the imageView is within the visible window
}

关于Android:如何检查 ScrollView 内的 View 是否可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4628800/

相关文章:

Android RelativeLayout 在横向模式下不会滚动

android - 在 android 的 ScrollView 底部添加填充?

ios - 如何在 IOS 中平滑地缩放图层以将对象保留在屏幕上?

android - 如何在 flutter 上制作按钮

java - 为什么每次都会重复使用同一个 ListView 项目?

android - Google Play 游戏服务 - 无法登录

android - .gif 图像作为源在 Windows kivy 程序中运行良好。通过 kivy Launcher 运行显示 gif 图像的背景

android - 滚动自定义 View - Android

c# - this.Visible 在 Windows 窗体中不起作用

c# - 如何使用 RadioButton 使其他 RadioButton 可见?