私は、Android ゲーム プログラミングを始めるつもりで、数人の同僚に Java を教えています。画面にボックスを表示し、タッチすると色が変わる方法はありますか?アクティビティを作成せずに (これは Eclipse にあります)、XML の醜い世界に飛び込みますか?
3944 次
3 に答える
3
リクエストに応じてAndroidでUIをプログラムで作成する例を次に示します。
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Button changeColor = new Button(this);
changeColor.setText("Color");
changeColor.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
changeColor.setOnClickListener(new View.OnClickListener() {
int[] colors = {Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW};
@Override
public void onClick(View view) {
final Random random = new Random();
view.setBackgroundColor(colors[random.nextInt(colors.length - 1) + 1]);
}
});
setContentView(changeColor);
}
ただし、レイアウトにXMLを使用することを強くお勧めします。XMLを理解すれば、XMLを使用する方がはるかに簡単で迅速なので、ここにチュートリアルがあります。
于 2012-07-29T03:56:08.720 に答える
2
あなたの言っていることを聞きました。そうです。AndroidでゲームをコーディングしたいだけでXMLが退屈であることに同意しますが、XMLはAndroidの必需品であると言えます。少なくともViewStubsをXMLに入れて、後でコードで膨らませます。
または、適切にフォーマットしたい場合は、多くの「新しいLayoutParams」呼び出しを呼び出すことに慣れてください。
ただし、Androidで動作させたい場合は、クラスでActivityを上書きする必要があります。
于 2012-07-29T03:56:51.810 に答える
2
プログラムでウィジェットを作成し、onCreate でコンテンツ ビューとして設定したレイアウトに追加できます。これに沿った何かが機能します:
RelativeLayout layout = new RelativeLayout(this);
Button btnChangeColour = new Button(this);
btnChangeColour.setText("Change Colour");
btnChangeColour.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
v.setBackgroundColor(...);
}
});
layout.addView(btnChangeColour);
setContentView(layout);
于 2012-07-29T03:08:15.520 に答える