0

私は、作成した同じゲームのバージョンを Android に移植するための小さな個人プロジェクトに取り組んでいます。私はほとんどのゲームをJavaでコーディングしています(まだ完成しています)が、Android開発について読んでいます(ドキュメントを読んで、YouTubeでthenewbostonを見ています)。AndroidManifest.xml に興味があります。私の理解が正しければ、画面に表示されるものはすべてそのxmlファイルで定義されています。ただし、私の Java ゲームには、ボードを作成するための独自のコードがあります。

 //game board
JFrame gameBoard = new JFrame();
gameBoard.setTitle("CrossGame");
gameBoard.setSize(400,400);

int numColors = 3;

//board grid
JPanel boardGrid = new JPanel(new GridLayout(gridSize, gridSize));

try {
  UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
}
catch (Exception e) {
}
//A loop to add a new button to each section of the board grid.
for (int i = 0; i < gridSize; i++) {
  for (int j = 0; j < gridSize; j++) {

    gameButtons[i][j] = new JButton();
    gameButtons[i][j].addActionListener(new Listener());
    gameButtons[i][j].setBackground(colors[(int)(Math.random() * numColors)]);
    boardGrid.add(gameButtons[i][j]);

  }
}

//Adds the grid of buttons to the window.
gameBoard.add(boardGrid);
//Quits the program when the close window button is pressed.
gameBoard.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gameBoard.setVisible(true);

}

私は Mac でプログラミングしているため、そこに setLookAndFeel があります。これらのボタンはすべて XML で定義する必要がありますか? または、このコードを修正する必要がありますか?

4

3 に答える 3

2

Androidでは、ビジネスレイヤーとプレゼンテーションレイヤーを分離するために、xmlにボタンを追加することをお勧めします。ただし、必須ではありません。したがって、Javaアプリケーションと同じように、コード内でそれらを完全に刷新することもできます。

 For Example::
 for(int i::n)//depend upon your loop requirement
  {
      layout = (LinearLayout) findViewById(R.id.statsviewlayout);
      Button bi = new Button(this);
      bi.setText(R.string.button_back);
      bi.setLayoutParams(new LayoutParams(
      ViewGroup.LayoutParams.WRAP_CONTENT,
      ViewGroup.LayoutParams.WRAP_CONTENT));
      layout.addView(bi);
  }
于 2012-12-29T17:02:52.110 に答える
1

を使用してスタイルをランダム化できます

array.xml

<?xml version="1.0" encoding="utf-8"?>
<array name="color">
<item name="green">0000FF</item>
<item name="red">FF0000</item>
<item name="blue">00FF00</item>
</array>

これらの配列ファイルをランダムに使用して、ボタンのスタイルを設定できます

  Resources re=getResources();
  bi.setBackGroundColor(random(r.getArray(color)));

これらがプログラミング構造に役立つことを願っています

于 2012-12-29T17:50:20.703 に答える
1

現在行っているようにインターフェイスを動的に生成できますが、XML レイアウト機能を使用することにはいくつかの利点があります。

まず、Android アプリケーションにはさまざまな xml ファイルが関係していることを明確にする必要があります。マニフェスト ファイルは、(一般に) 画面レイアウトを中心としたものではありません。

ボタンを動的に作成する代わりに xml レイアウト ファイルを使用する場合、android には、さまざまなデバイス サイズと解像度用に複数のバージョンを設計するための優れた機能が用意されています。

于 2012-12-29T17:25:30.347 に答える