2012-06-15 74 views
2

我想在圖庫頂部繪製自定義用戶界面(這裏是一個路徑)。我已經擴展了基礎庫類,並覆蓋了draw方法是這樣的:圖庫視圖頂部的自定義繪圖(以及它的子視圖)

public class MyGallery extends Gallery { 
... 
@Override 
protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    canvas.drawPath(mPath, mPaint); 
} 

我認爲把我的路super.onDraw後繪製將確保路徑是在走廊的頂部繪製和它的子視圖,而是將子視圖分層放在我的路徑上。 有誰知道如何正確繪製? (我知道我可以包括一個RelativeLayout,並在圖層上繪製一個進一步的視圖,以便在畫廊的頂部繪製我的路徑,但我寧願將它全部保留在同一個班級中)。

回答

5

無論如何,如果有人遇到同樣的問題,我決定發帖。爲了籠絡子視圖在一個畫廊,覆蓋dispatchDraw代替onDraw

@Override 
protected void dispatchDraw(Canvas canvas) { 
    super.dispatchDraw(canvas); 
    canvas.drawPath(mPath,mPaint); 
} 
+0

誰能想到? +1找到這個! –