2012-06-15 39 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找到这个! –