以编程方式更改布局的背景颜色

ant*_*009 2 android android-layout

Android Studio 0.4.6
minSdkVersion 10
targetSdkVersion 19
Run Code Online (Sandbox Code Playgroud)

你好,

我有一个名为的活动ReadingLamp和一个名为的Relativelayout activity_reading_lamp.xml.

我正在尝试将布局设置为不同的背景颜色.

在我的onCreate中,将内容视图设置为此布局.

setContentView(R.layout.activity_reading_lamp);
Run Code Online (Sandbox Code Playgroud)

我尝试通过执行以下操作获取根视图:

mActivityBackground = getWindow().getDecorView().getRootView();
Run Code Online (Sandbox Code Playgroud)

然后在我的应用程序中我想改变颜色,所以我喜欢这样:

mActivityBackground.setBackgroundColor(Color.parseColor("#0cf5ff"));
Run Code Online (Sandbox Code Playgroud)

但是,上面的行没有做任何改变背景的事情.

我也试过做以下事情:

mActivityBackground = (RelativeLayout)findViewById(R.layout.activity_reading_lamp);
Run Code Online (Sandbox Code Playgroud)

我只是想知道我的代码在哪里出错?

非常感谢任何建议,

Bla*_*elt 5

你已宣布,setContentView(R.layout.activity_reading_lamp);在你的Activity.然后,您应该查找要更改背景颜色的视图.它必须属于R.layout.activity_reading_lamp.

View view = findViewById(R.id.declared_inside_reading_lamp);
Run Code Online (Sandbox Code Playgroud)

然后你可以打电话

view.setBackgroundColor(Color.GREEN)
Run Code Online (Sandbox Code Playgroud)