Android 4.0 アプリを作成していますが、助けが必要です。
ここで見つけたコードを使用して、RelativeLayout をズーム可能/パン可能に拡張しました。
Android - スプレッド/ピンチを使用して RelativeLayout を拡大/縮小し 、ここで https://stackoverflow.com/a/12438004/1458279
ZoomableRelativeLayout に配置した独自のカスタム ユーザー ビュー (SectionView) を作成し、このレイアウトを使用するアクティビティを作成しました。
私は ZoomableRelativeLayout で onTouchEvent をオーバーライドしています。ACTION_DOWN と ACTION_UP の間の時間を調べることで、ユーザーが「ドラッグ」を開始したのではなく、「クリック」したことを検出できます。参照: onTouchEvent() で移動とクリックを区別する方法は?
だから..ZoomableRelativeLayoutがクリックされたときを知っています-今、その「クリック」をSectionViewコントロールのイベントに変換するにはどうすればよいですか(SectionViewコントロールの1つがクリックをしている指の下にある場合)アクティビティ。
私がこれまでやってきたこと -
ZoomableRelativeLayout のクリックを検出した場合、onTouchEvent を FALSE を返すように設定しています。これは、処理されていないことを意味するため、RelativeLayout 内のコントロールの他のタッチ イベントがそれらを処理できることを期待していました。代わりは。
ただし、何を試しても、 Activity でイベントを発生させるために、 SectionView コントロールを Touch Events に応答させることができないようです。
私は Android の専門家ではないので、本当に明らかな何かを見落としている可能性があります。できれば簡単な例を教えてください。これは何年も前から取り組んできたもので、どこにも到達していないように感じます。
ありがとう