私は LinearLayout を拡張しています:
public class MyLinearLayout extends LinearLayout {
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(0xFFFF0000);
canvas.drawLine(0, 0, getWidth(), getHeight(), paint);
}
}
レイアウトに子要素がある場合、上の赤い線はそれらの上に描画されるべきではありませんか? 次のようなレイアウトを検討します。
<MyLinearLayout>
<ImageView />
</MyLinearLayout>
子ImageViewの上に赤い線が引かれることを期待しています。しかし、それはその下に描画されます。super.onDraw() 行が終了した後、すべての子の描画が完了すると想定していました。
すべての子の描画が完了した後、キャンバスにアクセスして何かを描画する方法はありますか?
ありがとう