【发布时间】:2013-03-30 05:58:54
【问题描述】:
我有点坚持这个 - 首先,以下链接很有用,但是我提出了一些可见性问题:
我有一个滚动视图(父视图)和许多子视图(LinearLayout -> TableLayout)等。我在 XML 中设置了许多项目为 View.GONE(android:visibility="gone") .
我有一些简单的代码可以使用getVisibility() 来确定它是否可见,但是当我将项目设置为View.VISIBLE 并尝试立即getDrawingRect() 时,我得到一个全线为零的矩形。任何进一步的点击都会获得正确的坐标。
现在这可能是因为从未绘制过视图(如 XML 中定义的那样)导致它不返回任何坐标,但是我在尝试确定屏幕可见性之前确实设置了 View.VISIBLE。是不是我需要从 onDraw() 中获得某种回调?或者也许设置代码中隐藏项的视图可见性。有点烦人;(
一些代码:
Rect scrollBounds = new Rect();
scroll.getHitRect(scrollBounds);
Rect viewBounds = new Rect();
if (view.getVisibility() == View.GONE) {
view.setVisibility(View.VISBLE)
viewBounds.getDrawingRect(viewBounds);
if (!Rect.intersects(scrollBounds, viewBounds) {
// do somthing
}
}
布局区域如下:
-
ScrollView-
LinearLayout-
TableLayoutButtonHiddenView
-
-
当然,我很有可能完全走错了路 - 基本上我只是想确保滚动视图自行定位,以便可以看到整个可见的视图。
如果需要任何其他信息,请告诉我!
【问题讨论】:
标签: android view scrollview visibility