【问题标题】:Setting Activities' Background Color设置活动的背景颜色
【发布时间】:2017-04-02 20:38:53
【问题描述】:

我正在尝试将我所有活动的背景颜色从白色更改为黑色。我已经尝试了所有方法 - 更改 windowBackground、colorBackground、background 但似乎没有任何效果,而且我知道我的风格正在发挥作用,因为如果我更改了主要的强调色,它们似乎正在改变。背景标签只会改变操作栏的颜色。这是我的主题代码(到目前为止我所拥有的)-

<style name="Yoyo" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent1</item>
    <item name="android:windowBackground">@color/darkBackground</item>
    <item name="android:colorBackground">@color/darkBackground</item>
    <item name="android:textColor">#ffffff</item>
</style>

darkBackground 是黑色的 - 我的应用需要显示但它没有显示。

另外,我已经尝试在 windowBackground 中使用@drawable/my_drawable_file(我在其中设置了黑色),但即使这样也不起作用。

最低 sdk 版本 - 21,目标 sdk 版本 - 25

【问题讨论】:

    标签: java android


    【解决方案1】:

    尝试更改活动根元素的背景。例如:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="your_color">
    

    【讨论】:

    • 我想动态更改我的主题,我还有一个在开始时设置的主题,然后我将我的应用程序的主题更改为 java 代码中的这种样式。
    • 创建新样式并在运行时更改它。例如 setTheme(R.style.your_style);
    【解决方案2】:

    试试:

    <color name="custom_theme_color">#000000</color>
    <style name="CustomTheme"Parent="android:Theme.AppCompat.Light.DarkActionBar">
        <item name="android:windowBackground">@color/custom_theme_color</item>
        <item name="android:colorBackground">@color/custom_theme_color</item>
    </style>
    

    然后在清单中使用自定义主题

    【讨论】:

    • 这不起作用 :( 和以前一样,我的主题正在工作,所有原色和所有内容都被应用,除了仍然不变的白色窗口背景。
    【解决方案3】:

    没关系的人,我只是愚蠢,我已经在 XML 文件中硬编码了上述活动的颜色,一旦我删除了从 XML 设置颜色的行,windowBackground 就开始工作了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 2023-03-25
      • 1970-01-01
      • 2010-09-17
      相关资源
      最近更新 更多