キャンバスでSurfaceビューを作成したので、グラフィックスを作成できました。キャンバスを使用して xml レイアウトを作成する方法はありますか? ボタンと画面にないものを使用できますか、またはキャンバスにボタンを作成する他のオプションはありますか?
2 に答える
はい、はい。レイアウト上にボタン ビューを配置できますが、キャンバスの外に存在しますが、キャンバスにオーバーレイすることもできます。または、独自のボタンを表面に直接レンダリングして、独自のタッチ検出を記述するオーバーヘッドを回避することもできます。ゲーム用の小さなフレームワーク (または「スプライト」を使用したゲームのようなもの) を作成している場合、オーバーヘッドは既に行っていることです。これらのボタンを Button ビューとまったく同じように見せるのは少し難しいかもしれませんが、可能です。
これは最終的に、実装がより簡単またはより優れているかについての設計上の決定に帰着します。
そのキャンバスを含むクラスを1つ作成する必要があります。そして、そのクラスをxmlレイアウトにインポートします。
この例を参照してください: FingerPaint の例。
上記の例では、描画するキャンバスを含む myView クラスがあります。
あなたがする必要があるのは:
まず、以下のように xml に任意のレイアウトを作成します。
<RelativeLayout
android:id="@+id/drawingLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</RelativeLayout>
次に、main.xml がメインの xml レイアウト ファイルであるとします。次に、そのクラスをそのレイアウトに以下のように追加します。
setContentView(R.layout.main);
drawingLayout = (RelativeLayout)findViewById(R.id.drawingLayout);
System.out.println("The Layout is: "+drawingLayout);
myView = new MyView(this);
drawingLayout.addView(myView);
あなたが要点を得たことを願っています。そうでない場合は、お知らせください。
楽しみ。:))