如何知道滚动视图是否在顶部?
How to know if the scrollview is on top?
我的布局结构是
<LinearLayout>
<TabLayout/>
<Scrollview>
.... other widgets are placed here
</Scrollview>
</LinearLayout>
现在的问题是我在 tablayout 上有一个图标。当滚动视图处于正常阶段时,我想隐藏它。当它向下滚动时,tablayout 中的图标应该出现,如果 scrollview 滚动到顶部并到达顶部,我想隐藏 tablayout 上图标的可见性。
怎么做。
我发现的一种方法是
如果我能以某种方式找到 scrollview 的顶点,而不是通过比较 scrollview 的位置及其 topPosition.but 来设置可见性,我不知道如何找到 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 像素容差)
if (scrollY <= 20)
我的布局结构是
<LinearLayout>
<TabLayout/>
<Scrollview>
.... other widgets are placed here
</Scrollview>
</LinearLayout>
现在的问题是我在 tablayout 上有一个图标。当滚动视图处于正常阶段时,我想隐藏它。当它向下滚动时,tablayout 中的图标应该出现,如果 scrollview 滚动到顶部并到达顶部,我想隐藏 tablayout 上图标的可见性。 怎么做。 我发现的一种方法是 如果我能以某种方式找到 scrollview 的顶点,而不是通过比较 scrollview 的位置及其 topPosition.but 来设置可见性,我不知道如何找到 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 像素容差)
if (scrollY <= 20)