2011-02-14 82 views
0

在我的應用程序中,我有一個小型的SurfaceView顯示相機預覽。這個surfaceView放在一個放在ScrollView中的FrameLayout中,與其他組件(比如按鈕,文本視圖等)一起放置。問題是,當我滾動屏幕時,surfaceView留下一個黑洞,並且這個黑洞只在屏幕重繪時填充,所以,我想重畫每個滾動步驟的屏幕(是如果沒有其他辦法,我願意支付業績折讓)。有人有什麼想法?當屏幕滾動時檢測?

回答

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