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

您可以使用随机样式

数组.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 回答