【问题标题】:Detect when screen is scrolling?检测屏幕何时滚动?
【发布时间】:2011-02-14 21:19:24
【问题描述】:

在我的应用程序中,我有一个显示相机预览的小型 surfaceView。这个surfaceView 放在一个FrameLayout 中,该FrameLayout 放在一个ScrollView 中,与其他组件(如按钮、textView 等)一起放置。问题是,当我滚动屏幕时,surfaceView 会在原来的位置留下一个黑洞,而这个黑洞只有在重绘屏幕时才会被填充,所以,我想在每个滚动步骤中重绘屏幕(是的,如果没有其他办法,我愿意付出性能权衡)。有人有什么想法吗?

【问题讨论】:

    标签: android


    【解决方案1】:

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

    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
                }
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-17
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      • 2016-08-24
      • 2010-10-24
      • 1970-01-01
      相关资源
      最近更新 更多