キャンバスの上にUI要素を設定するにはどうすればよいですか?Android:キャンバスレイヤー上のUI要素
私はキャンバスを使用してカスタム表示にグラフィックを配置した簡単なタッチゲームを持っています。しかし、私の全画面パネルがsetContentView()にあるので、私はprogressBarやロゴのようなUI項目を追加することはできません。私はいくつかのオブジェクト(progressBar、ロゴ)で表示された全体のキャンバスレイヤーを "浮動"にしたいと思います。
メインクラス:
public class GameClass extends Activity implements OnGestureListener {
Panel panel;
public void onCreate(Bundle savedInstance) {
super.onCreate(savedInstance);
panel = new Panel(this, 1, 2);
setContentView(Panel);
...
}
Panelクラス:コードが示すように
public class Panel extends View {
public Panel(Context context, int Var1, int Var2) {
super(context);
...
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
...
}
}
、タッチがGameClass内部処理され、アニメーションの変化は、パネル内部で扱われます。
または、おそらく..オーバーレイアクティビティのボタンと元のアクティビティのオブジェクトの両方が表示されるように、プログレスバーとボタンで新しい透明アクティビティを開始することは可能でしょうか?透明なアクティビティのボタンを使用して、すべてのレイヤー(透明なアクティビティ、Panel、GameClass)を閉じる方法が必要でした。複雑ですか? :D
この場合、イメージボタンの下にキャンバスを縦に描画します。私は今、私のアプリで効果をチェックしています。私が達成したいのは、イメージボタンやプログレスバーをオーバーレイキャンバスに半透明にすることです。今これを使用する方法をテストします。 – yosh
あなたはハンドラのコンセプトを知っていますか?http://developer.android.com/reference/android/os/Handler.html – ingsaurabh
これを少し変更し、xmlを使わずにRelativeLayout内の2つのUIElementsを使用しました。このように、後者は上にあります:) – yosh