Android 检测屏幕何时滚动?

Android 检测屏幕何时滚动?,android,Android,在我的应用程序中,我有一个小的surfaceView,显示相机预览。此surfaceView与其他组件(如按钮、文本视图等)一起放置在滚动视图中的框架布局中。问题是,当我滚动屏幕时,surfaceView会在原来的位置留下一个黑洞,而这个黑洞只有在屏幕重新绘制时才会被填满,因此,我希望在每个滚动步骤上重新绘制屏幕(是的,如果没有其他方法,我愿意支付性能折衷)。有人有什么想法吗?扩展您的滚动视图并放在那里 private OnScrollListener onScrollListener;

在我的应用程序中,我有一个小的surfaceView,显示相机预览。此surfaceView与其他组件(如按钮、文本视图等)一起放置在滚动视图中的框架布局中。问题是,当我滚动屏幕时,surfaceView会在原来的位置留下一个黑洞,而这个黑洞只有在屏幕重新绘制时才会被填满,因此,我希望在每个滚动步骤上重新绘制屏幕(是的,如果没有其他方法,我愿意支付性能折衷)。有人有什么想法吗?

扩展您的滚动视图并放在那里

private OnScrollListener onScrollListener;

    public interface OnScrollListener {
        public void onScroll();
    }

@Override
    protected void onScrollChanged(int l, int t, int oldl, int oldt) {
        if (onScrollListener != null) {
            onScrollListener.onScroll();
        }
        super.onScrollChanged(l, t, oldl, oldt);
    }

public void setOnScrollListener(OnScrollListener lst) {
        this.onScrollListener = lst;
    }
然后你可以听滚动

scrollRoot.setOnScrollListener(new OnScrollListener() {
            @Override
            public void onScroll() {
                //do something
            }
        });