ビューを手に負えないものにするにはどうすればよいですか。フレーム レイアウトで互いに積み重ねられた 2 つのキャンバス ビューがあります。どちらのキャンバスも画面全体を占め、どちらも透明です。上部のキャンバスに PNG を表示し、ユーザーが下部のキャンバスに描画できるようにします。
問題は、ユーザーが画面に触れたときに、タッチ入力が上部のキャンバスで取得され、何もしない (下部のキャンバスに描画する) ため、何も起こらないことです。
上部のキャンバスを、インタラクションやイベントが割り当てられていないオーバーレイ ビューとして機能させたいと考えています。これらはすべて、下部のビューで使用する必要があります。上部のオーバーレイを非表示に設定すると、下部のキャンバスに描画できます (下部のキャンバスがすべての入力を受け取るようになったため)。
また、キャンバスは標準キャンバスではなく、カスタム キャンバスです。View クラスから直接派生しています。しかし、派生ビューは問題を引き起こさないと思います。どうやって進めばいいのかわからない。
上のキャンバスで onTouch() を使用し、下のキャンバスで onTouch() を呼び出してみましたが、うまくいきませんでした。私は2つのボタンでdispatchTouch()のような他のものをテストしていますが、私には何も確実ではないようです. 助けていただければ幸いです。
編集:XMLレイアウトコードを追加
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.samsung.sdraw.CanvasView
android:id="@+id/canvas1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="cnvs1Click"
android:text="Canvas1" />
<com.samsung.sdraw.CanvasView
android:id="@+id/canvas2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Canvas2"
android:onClick="cnvs2Click"/>
</FrameLayout>
しかし、私はまだビューによって問題が解決されると思います。キャンバスはS ペン SDKからのものです