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(滚动谢谢你,兄弟。我做到了。谢谢你,兄弟。我做到了。