检测 ScrollView 是向上还是向下滚动 - Android

KiK*_*iKo 4 android android-scrollview android-actionbar

我有一个ScrollView带一个LinearLayoutTextView秒。我想检测何时ScrollView向上或向下滚动以隐藏/显示ActionBar

tyc*_*czj 5

你需要创建一个扩展的类 ScrollView

public class ExampleScrollView extends ScrollView 
Run Code Online (Sandbox Code Playgroud)

然后覆盖onScrollChanged为您提供旧的和新的滚动位置,从那里您可以检测哪个方向

protected void onScrollChanged(int l, int t, int oldl, int oldt) 
Run Code Online (Sandbox Code Playgroud)


小智 5

我想我回答这个问题有点晚了,但这是我的答案

 scrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
            float y = 0;

            @Override
            public void onScrollChanged() {
                if (scrollView.getScrollY() > y) {
                    Log.v("Message", "Scrolls Down");
                } else {
                    Log.v("Message", "Scrolls Up");
                }
                y = scrollView.getScrollY();
            }
        });
Run Code Online (Sandbox Code Playgroud)