2

ギャラリーの上にカスタムUI(この場合はパス)を描画しようとしています。基本のGalleryクラスを拡張し、次のようにdrawメソッドを上書きしました。

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

パスの描画を後super.onDrawに配置すると、パスがギャラリーの上に描画され、子ビューが表示されるようになると思いましたが、代わりに子ビューがパスの上にレイヤー化されています。誰かがこれを正しく描く方法を知っていますか?(RelativeLayoutを含めて、さらにビューをレイヤー化して、ギャラリーの上にパスを描画できることはわかっていますが、すべてを1つのクラスにまとめたいと思います)

4

1 に答える 1

6

私は尋ねた直後にこれを見つけたので、誰かが同じ問題を抱えている場合に備えてとにかく投稿することにしました。dispatchDrawギャラリーで子ビューを描画するには、代わりに上書きしますonDraw

@Override
protected void dispatchDraw(Canvas canvas) {
    super.dispatchDraw(canvas);
    canvas.drawPath(mPath,mPaint);
}
于 2012-06-15T15:55:28.187 に答える