Android 如何知道用户是否在我的活动之上?
我正在尝试使用Swiperefreshlayout,它工作得非常完美,但我需要知道用户何时处于我活动的顶端。我在读这篇文章时,发现了一个名为“setOnScrollListener”的方法,但我认为它只适用于ListView。我不使用ListView,我使用的是RelativeLayout,在它里面,我放置卡片布局 我的XML结构如下:Android 如何知道用户是否在我的活动之上?,android,Android,我正在尝试使用Swiperefreshlayout,它工作得非常完美,但我需要知道用户何时处于我活动的顶端。我在读这篇文章时,发现了一个名为“setOnScrollListener”的方法,但我认为它只适用于ListView。我不使用ListView,我使用的是RelativeLayout,在它里面,我放置卡片布局 我的XML结构如下: Swiperefreshlayout 抽屉布局 相对论 滚动视图 具有不同数据的卡 我试图捕获ScrollView,但它没有setOnScr
- Swiperefreshlayout
- 抽屉布局
- 相对论
- 滚动视图
- 具有不同数据的卡
- 滚动视图
- 相对论
- 抽屉布局
有什么帮助吗 子类
swiperFreshLayout
和覆盖canChildScrollUp
。检索ScrollView
,并返回scrollViewInstance.getScrollY()>0代码>。不要忘了在布局中使用您的子类Swiperefreshlayout
我想我建议您可以在android中使用viewflipper。它可以很容易地表示不同的布局。例如:
flippy.setDisplayedChild(flippy.indexOfChild(findViewById(R.id.Swiperefreshlayout)));
flippy.setDisplayedChild(flippy.indexOfChild(findViewById(R.id.DrawerLayout)));
我做到了,我一切都很好,但是。。。我不需要一个倾听者吗?方法在哪里调用?该方法由系统调用,您不必手动调用。如果您正在使用的代码不起作用,我不知道如何在SwiperFreshLayout和我的子类之间建立关系。。。我发现了一个更简单的方法:scrollView.getViewTreeObserver().addOnScrollChangedListener(新OnScrollChangedListener(){@Override public void onScrollChanged(){int scrollY=scrollView.getScrollY();if(scrollY==0)swipeLayout.setEnabled(true);else swipeLayout.setEnabled(false);};您应该认真研究子类方法。