最初にSurfaceViewを含み、次に、さまざまなButtonsとTextViewsを含むRelativeLayoutを含むFrameLayoutがあります。
SurfaceViewのキャンバス上に多数のビットマップを描画しており、タッチイベントとモーションイベントを介して、ユーザーがそれらをドラッグできるようにしています。
これらのビットマップは、ドラッグすると、RelativeLayout内にあるボタンなどの下を通過します。
さて、SurfaceViewの「Zレベル」、またはそれを通過するものはすべて、レイアウトの他の部分の実際のZレベルとはまったく関係がないことを理解しているのは、私の(おそらく誤っている)ことです。これは本当ですか?もしそうなら、ドラッグされたビットマップが他のビューの上に描画されるように、どうすればそれを回避できますか?または、他にどのような方法でフルスクリーンキャンバスを実装しても、ボタンなどをオーバーレイのコントロールのように機能させることはできません。
私が実際に必要としているのはアンダーレイだと思います。アンダーレイでは、タッチイベントを下のボタンなどで拾うことができます。しかし、これを実現する方法がわかりません。キャンバスを再描画するときに、背景も再描画する必要があるためです。
FrameLayout内のRelativeLayoutとSurfaceViewの順序を入れ替えて、Canvasの背景を透明にすることはできますか?もしそうなら、どのように?タッチイベントは引き続き下のボタンに「フォールスルー」しますか?
私と一緒にいてくれてありがとう、私は少しワッフルだと知っています。