我需要一个逻辑来以编程方式更改xml背景,而不是从xml文件中提供背景颜色。这里我使用了setContentView(R.layout.main);在应用程序中显示xml文件。但我需要在java代码中更改main.xml文件的背景颜色。
答案 0 :(得分:10)
以下示例显示了如何制作它。在这里,我将LinearLayout作为xml文件的根节点。在java代码中我已经展示了如何设置白色背景。我认为这段代码可以帮到你。
xml文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
-----
-----
</LinearLayout>
java代码
LinearLayout root=(LinearLayout)findViewById(R.id.root);
root.setBackgroundColor(Color.WHITE);
也可以使用Hex代码设置颜色,如下所示,
root.setBackgroundColor(Color.parseColor("#ffffff"));
即使你也可以设置drawable,
root.setBackgroundResource(R.drawable.bg_image);
答案 1 :(得分:1)
以下是如何做到这一点,
mLayout = (RelativeLayout) findViewById(R.id.myRelativeLayout);
mLayout.setBackgroundColor(Color.BLUE);
此处mLayout是您的父亲RelativeLayout。
答案 2 :(得分:0)
获取xml的根布局实例,并根据需要随意设置代码的背景颜色,但在UI thread
中完成所有这些..
答案 3 :(得分:0)
GradientDrawable sd =(GradientDrawable)this.getResources()。getDrawable(R.drawable.roundbordertry); sd.setColor(Color.rgb(5,5,5)); newHeadView.setBackgroundDrawable(SD);
/////////////////////////////////////////////// /////////// roundbordertry是xml文件。 newHeadView是一个线性布局。