SurfaceView とレイアウトがどのように関係しているのか理解できていないようです。私がやろうとしているのは、基本的なゲーム インターフェイスです。私のメイン アクティビティは、メイン ゲーム画面である新しいアクティビティを開始するメニューとボタンを備えたタイトル画面であり、拡張された SurfaceView を使用してレベルをロードし、ユーザー入力に従って画面上を移動するいくつかの写真を表示します。これまでのところ、SurfaceView にいくつかの特別なボタン (「ゲーム終了」など) を配置したいと思います。ボタンをプログラムで追加できましたが、レイアウトに関連付ける方法がわかりません。したがって、これは機能しています:
public class LevelActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//remove title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//Prepare Game Class
LevelView mLevel = new LevelView(this);
FrameLayout mGame = new FrameLayout(this);
LinearLayout mGameWidgets = new LinearLayout (this);
Button EndGameButton = new Button(this);
mGameWidgets.addView(EndGameButton);
mGame.addView(mLevel);
mGame.addView(mGameWidgets);
//Prepare moving commands
EndGameButton.setWidth(300);
EndGameButton.setText("End Game");
setContentView(mGame);
}
}
ただし、これ (または同様のもの) を適用することはできません: Button EndGameButton = (Button) mLevel.findViewById(R.id.end_game_button);
問題がコードにあるのか、xml レイアウト ファイルにあるのかわかりません。したがって、これを解決する方法がわかりません。
よろしくお願いします。