没有XML的简单Android应用程序

Lin*_*son 6 java android

我正在教几个同事Java,意图进入Android游戏编程.有没有办法在屏幕上显示一个框,当你触摸它时它会改变颜色,而不创建一个Activity(这是在Eclipse中)并潜入丑陋的XML世界?

alm*_*awi 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);
    }
Run Code Online (Sandbox Code Playgroud)

不过,我强烈建议您在布局中使用 XML。一旦您理解了 XML,使用它就会变得更加容易和快捷,所以这里有一个教程供您使用。