Android检测ViewGroup Child的位置

时间:2014-12-01 23:55:41

标签: android android-layout

所以我在ViewGroups上确实有两个相关的问题:

  1. LinearLayoutViewGroup的实例?这意味着,我可以在使用getChildAt(index)时调用LinearLayout吗?

  2. 滚动后,我可以检测到ViewGroup孩子何时在屏幕的“顶部”(操作栏正下方)?例如,当第3个孩子滚动到顶部

  3. 我正在使用一个使用Parallax Scrolling的应用程序,我正在使用一个开源库,该库具有自定义View,其中LinearLayout为孩子,4 TextViewsLinearLayouts个孩子。在他们的自定义View课程中,他们正在调用getChildAt,但我似乎找不到与LinearLayouts相关的文档,所以我想查看。基本上我想检查其中一个TextViews是否位于屏幕顶部。非常感谢任何clairfication

1 个答案:

答案 0 :(得分:1)

问题1 {是一个LinearLayout和ViewGroup的实例?意思是,我可以在使用LinearLayout时调用getChildAt(index)吗?}

回答 =是... ViewGroup是一个特殊视图,可以包含其他视图(称为子视图)。视图组是布局和视图容器的基类 ..所以你的线性布局是一个视图,因为它扩展了视图,如果它包含其他称为子视图的子视图,那么它就是一个视图组.. viewgroup extends view ..含义是的,你可以在使用时调用getChildAt(index)线性布局..

问题2 {我可以检测到ViewGroup孩子何时在" top"屏幕(操作栏右下方)?}。

回答是的,您可以查看视图组(包含其他子视图的视图)中子项的 Z顺序以了解其位置,这可能是您的第一个孩子如果你的视图组(即线性布局)是你活动的视图内容,那么它就是动作栏下方的孩子 - 这总是如此吗? - 是啊..

如果您想要getChildAt和一般视图群组的文档,那么look here ..

希望它有所帮助..让我知道任何事情......