更改活动中的背景颜色。

4
我使用Android Studio创建基本活动,使用New -> Activity -> Basic Activity。但是活动的背景颜色是黑色的。我知道这是为了减少电池消耗。但是有没有办法将其更改为白色,而不更改样式。
我尝试更改根布局的背景颜色,但然后它不会显示编辑文本字段的提示文本。因为它的颜色是白色的。
然后我尝试将主题从Material更改为Material Lite,然后当我在设备上运行应用程序时,它不会显示更改。

enter image description here

以下是AndroidManifest.xml中的活动声明:
<activity
    android:name=".SearchBus"
    android:label="@string/title_activity_search_bus"
    android:parentActivityName=".MapsActivity"
    >
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="uk.co.stableweb.iroute.MapsActivity" />
</activity> 

然后我试图将主题从Material更改为Material Lite,但当我在设备上运行应用程序时,它不会显示更改。请尝试清理并重新构建您的项目。如果仍然无法解决问题,请完全卸载设备上的应用程序。通常,当更改似乎无效时,这意味着构建和安装过程存在问题。 - Code-Apprentice
您的 Android Studio 设计器截图中主题未设置为“material light”。如果设置为该主题,它将缩写为“light”。 - NameSpace
不,我改回了材料以展示我的当前情况。 - Isuru
@Code-Apprentice 谢谢!我会尝试的。 - Isuru
你在设计师视图中设置的主题,工具栏上的主题不会影响应用程序运行时的主题。它只是让你看到如果与某个主题匹配,你的应用程序将如何出现。 - NameSpace
我尝试将主题从Material更改为Material Lite。你是如何做到的? - Code-Apprentice
2个回答

16

在您的styles.xml文件中,为您正在应用或活动中使用的任何主题设置android:windowBackground属性。 您可以在AndroidManifest.xml中找到您正在使用的主题。

<resources xmlns:tools="http://schemas.android.com/tools">

   <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="android:windowBackground">@color/somecolor</item>
    </style>

</resources>

注意:如果您的布局中有不透明的视图,它将阻止您看到此处设置的颜色。


0
你试过这个吗:android:background="#ffffff"?对我来说有效。

2
在主题中设置android:background将覆盖任何具有背景的内容,而不仅仅是主要背景(例如按钮框架等)。 - NameSpace

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接