package mine.app;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void changeBackgroundColor(View view) {
setContentView(R.layout.color_list);
}
public void setBackgroundRed(View view) {
findViewById(R.layout.activity_main).setBackgroundColor(Color.RED);
setContentView(R.layout.activity_main);
}
}
当应用程序运行时,它会创建一个运行changeBackgroundColor的按钮。然后它会显示一个运行setBackgroundRed的按钮,该按钮会使应用程序崩溃。
答案 0 :(得分:0)
在MainActivity
中创建一个类似....的方法
public void setActivityBackgroundColor(int color) {
View view = this.getWindow().getDecorView();
view.setBackgroundColor(color);
}
然后从OnClickListener调用此函数,无论你想要什么颜色传递颜色。
答案 1 :(得分:0)
将onCreate更改为以下
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().setBackgroundDrawableResource(R.color.blue);// specify background drawable resource or background color resource here
}