OpenGL を使用していくつかのアニメーションを表示する GLSurfaceView があります。
このビューにボタンを追加したいと思います。これはどのように達成されますか?
xml レイアウトを使用せずに実行できますか?
OpenGL を使用していくつかのアニメーションを表示する GLSurfaceView があります。
このビューにボタンを追加したいと思います。これはどのように達成されますか?
xml レイアウトを使用せずに実行できますか?
ビューを手動で作成し、アクティビティのコンテンツ ビューに追加できます。GLSurfaceView で setContentView を実行した後、または XML レイアウトを介して Activity の onCreate メソッドで次の操作を実行すると、左上隅の GLSurfaceView の上にボタンを追加できます。
Button b = new Button(this);
b.setText("Hello World");
this.addContentView(b,
new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
ボタンを画面上の別の場所に配置する場合は、ボタンをレイアウトに追加してから、そのレイアウトをコンテンツ ビューに追加する必要があります。画面の中央にボタンを配置するには、次の操作を実行できます。
LinearLayout ll = new LinearLayout(this);
Button b = new Button(this);
b.setText("hello world");
ll.addView(b);
ll.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL);
this.addContentView(ll,
new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
画面の下部にボタンが必要な場合は、Gravity.CENTER_VERTICAL などの代わりに Gravity.BOTTOM を使用できます。
GLSurfaceView がタッチをインターセプトしている場合、またはボタンがタッチ イベントを受信しない場合は、タッチ イベント メソッドで return super.onTouch... を呼び出していることを確認してください。