2011-03-30 109 views
1

我有一個顯示多個可滾動框架的庫,每個包含複雜的佈局。 其中一個佈局元素是一個量規式自定義視圖,應該在顯示時進行動畫處理 - 而不僅僅是創建。 所以,如果我滾動到包含此視圖的佈局一次,然後返回,然後再次滾動 - 它應該做它的動畫,用戶應該看到它。如何知道實際顯示視圖的時間

我沒有找到適當的回調。我已經試過纔是硬道理:

的onDraw

onLayout

onAttachedToWindow

onDisplayHint

onVisibilityChanged

是他們中有些人根本沒有被調用,還有一些是隻有在畫廊重新初始化視圖時纔會調用,而不是在實際顯示視圖時調用。

謝謝!

回答

1

你可以試試您的畫廊的適配器上覆蓋getView

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    View view = super.getView(position, convertView, parent); 
    /* trigger your animation on this view */ 
    return view; 
} 

沒有對當getView被稱爲一個明確的合同,但應當有問題的視圖顯示在屏幕上調用。

+0

它不是 - Gallery有一種緩存過去視圖的方法,所以這個函數並不表示顯示。我已經覆蓋它提供從我的適配器的意見,所以我檢查了。 – SirKnigget 2011-03-30 19:51:18

+0

這可能是在顯示視圖時沒有很強的區別。 – 2011-03-30 19:53:04

相關問題