Android 如何知道滚动视图是否位于顶部?

Android 如何知道滚动视图是否位于顶部?,android,android-layout,scrollview,Android,Android Layout,Scrollview,我的布局结构是 <LinearLayout> <TabLayout/> <Scrollview> .... other widgets are placed here </Scrollview> </LinearLayout> .... 其他小部件放在这里 现在的问题是,我有一个图标在tablayout。我想在scrollview处于正常阶段时隐藏它。当它向下滚动时,tablayout中的图标应该出现,如

我的布局结构是

<LinearLayout>
   <TabLayout/>
   <Scrollview>
    .... other widgets are placed here
   </Scrollview>
</LinearLayout>

.... 其他小部件放在这里
现在的问题是,我有一个图标在tablayout。我想在scrollview处于正常阶段时隐藏它。当它向下滚动时,tablayout中的图标应该出现,如果scrollview滚动到顶部并到达顶部,我想隐藏tablayout中图标的可见性。 怎么做。 我发现的一个方法是
如果我能找到scrollview的最高点,那么我可以通过比较scrollview的位置和它的最高点来设置可见性。但是我不知道如何找到scrollview的最高点

使用以下代码检测滚动视图是否在顶部:

  mScrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
    @Override
    public void onScrollChanged() {
        int scrollY = mScrollView.getScrollY(); //for verticalScrollView
        if (scrollY == 0) 
            //button visible
        else 
            //button invisible
    }
});
也可以通过更改此行来添加一些公差:

 if (scrollY == 0) 
对于类似的情况(20像素公差)


如果(滚动使用下面的代码来检测滚动视图是否在顶部:

  mScrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
    @Override
    public void onScrollChanged() {
        int scrollY = mScrollView.getScrollY(); //for verticalScrollView
        if (scrollY == 0) 
            //button visible
        else 
            //button invisible
    }
});
也可以通过更改此行来添加一些公差:

 if (scrollY == 0) 
对于类似的情况(20像素公差)


if(滚动谢谢你,兄弟。我做到了。谢谢你,兄弟。我做到了。