安卓:更改活动的背景颜色(主视图)

2022-09-01 13:39:08

我想更改我的主视图(不是按钮或文本视图)的背景颜色,只是通常为黑色的真实背景...我得到了这个代码:

view.setBackgroundColor(0xfff00000);

这是在 一个 里面,但它只是改变了按钮的背景。OnClickListener


答案 1

尝试在你的类似的东西中创建一个方法...Activity

public void setActivityBackgroundColor(int color) {
    View view = this.getWindow().getDecorView();
    view.setBackgroundColor(color);
}

然后从你的OnClickListener调用它,以你想要的任何颜色传递。


答案 2

我不知道这是否是你问题的答案,但你可以尝试在xml布局中设置背景颜色,就像这样。这很容易,它总是有效

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

 android:background="0xfff00000"

  >


<TextView

    android:id="@+id/text_view"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/hello"

    />



</LinearLayout>

您还可以通过创建一个带有冷却和半透明渐变的xml背景文件来对背景做更多花哨的事情,并参考它以供其他用途,请参阅下面的示例:

背景.xml布局

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape>
        <gradient
            android:angle="90"
            android:startColor="#f0000000"
            android:endColor="#ff444444"
            android:type="linear" />
    </shape>
</item>
</selector>

您的布局

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

 android:background="@layout/background"


    >


<TextView

    android:id="@+id/text_view"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/hello"

    />



</LinearLayout>