在Gallery视图顶部自定义绘图(及其子视图)

luu*_*uts 2 android gallery android-custom-view android-gallery ondraw

我正在尝试在Gallery的顶部绘制自定义UI(在这种情况下是一条路径).我扩展了基础Gallery类并覆盖了draw方法,如下所示:

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

我认为将我的路径绘制后super.onDraw会确保路径绘制在图库的顶部并且是子视图,而是将子视图分层放在我的路径上.有谁知道如何正确绘制这个?(我知道我可以包含一个RelativeLayout并将另一个视图分层,以便在Gallery的顶部绘制我的路径,但我宁愿将它全部保存在一个类中)

luu*_*uts 5

我在询问后发现这一点,所以决定发帖,以防有人有同样的问题.要在图库中绘制子视图,请覆盖dispatchDraw而不是onDraw

@Override
protected void dispatchDraw(Canvas canvas) {
    super.dispatchDraw(canvas);
    canvas.drawPath(mPath,mPaint);
}
Run Code Online (Sandbox Code Playgroud)