【问题标题】:How to detect Scroll view Direction in Android如何在Android中检测滚动视图方向
【发布时间】:2016-10-05 08:18:06
【问题描述】:

任何人都知道如何检测 ScrollView 方向,因为我必须在滚动时显示和隐藏 ActionBar?我可以借助 listview 轻松检测到,但不了解 ScrollView。

【问题讨论】:

  • 你不知道android:scrollbars 吗?另外 onScrollChanged 方法可以得到XY 值,它们表示水平和垂直滚动方向。也使用 CoordinateLayout
  • View#onScrollChanged(int l, int t, int oldl, int oldt)
  • 我试过 scrollView.setOnScrollChangeListener(new View.OnScrollChangeListener() { @Override public void onScrollChange(View view, int i, int i1, int i2, int i3) { } });但是当快速滚动时,它没有给出正确的 Y 值,所以我的隐藏/显示概念无法正常工作。

标签: android scrollview


【解决方案1】:

您可以扩展scrollView,因为scrollview 没有这样的监听器。只需扩展 scrollView 并从覆盖的 onScrollChanged 方法调用您的回调。

然后在您的 xml 文件中使用您的 CustomScrollView,如下所示:

<my.package.CustomScrollView>xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/my_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />

【讨论】:

  • 不要Copy-paste
  • 感谢回复。我有一些担忧,例如 1. 我是否需要将 Horizo​​ntalScrollView 更改为 VerticalScrollView 因为我必须检测垂直方向(上/下)? 2.如何使用CustomScrollView类?
【解决方案2】:

我认为您所说的滚动是指检测哪个方向,进行了滑动。 这是example

【讨论】:

    猜你喜欢
    • 2012-03-26
    • 2011-11-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 2011-10-26
    相关资源
    最近更新 更多