私は主に Android アプリのプログラミングのインとアウトを学ぶための経験として使用している Android 用の 2-D ゲームを開発中です。現在、私のメイン アクティビティは、SurfaceView を拡張し、SurfaceHolder.Callback を実装するカスタム クラスをインスタンス化します。このビューは、ほとんどのロジックとすべてのグラフィックス処理を処理するスレッドをインスタンス化します (これには、キャンバスのインスタンス化と描画が含まれます)。
まあ、私は初心者なので、キャンバスを画面よりもはるかに大きくし、ユーザーがスクロールしてキャンバスのすべての部分を見ることができるように設計し始めたときは考えていませんでした...しかし、残念ながら、それは私がしたことです起こる必要があります。
これを行う簡単な方法があれば、私に知らせてください。
私の最善の推測は、キャンバスの実際の作成を ScrollView を拡張する別のクラスに入れ、何らかの方法ですべての Draw() をスレッドからそのキャンバスに呼び出すことです。これは可能ですか?私のクリックイベントは、実際にはメインアクティビティからキャプチャされます(参考までに)。