自定义主题的背景颜色:Theme.AppCompat.NoActionBar

时间:2016-08-20 08:15:39

标签: android xml

我为我的应用使用了内置主题Theme.AppCompat.NoActionBar。但它提供了完整的黑色背景。我想将这个黑色背景改为灰色背景。所以我尝试自定义我的主题如下:

这是我的styles.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="MyTheme">    // Using Customized theme.
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

//Customize the Theme.

<style name="MyTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:backgroundDimAmount">0.8</item>
</style>

在这里,我希望减轻背景颜色,因此我使用的是android:backgroundDimAmount,但它不起作用。

我也使用了以下内容:

<style name="MyTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:background">#707070</item>
</style>

这会改变背景颜色,但在屏幕截图中给出了奇怪的结果:

enter image description here

我的实际活动在屏幕截图后的位置如下:

enter image description here

所以我的问题是如何减轻或可能改变背景颜色?

4 个答案:

答案 0 :(得分:3)

你想要这个

<item name="android:background">@color/<mycolor></item>
<item name="android:windowBackground">@color/<mycolor></item>
<item name="android:colorBackground">@color/<mycolor></item>

请记住在所有样式中更改它xmls

答案 1 :(得分:0)

你应该在style.xml中使用样式.....

<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <item name="android:background">@color/gray</item>
    <item name="android:windowBackground">@color/gray</item>
    <item name="android:colorBackground">@color/gray</item>
</style>
</resources>

并在colors.xml中制作这个......

<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="gray">#707070</color><!--this your color-->
</resources>

the final out put

答案 2 :(得分:0)

android:background替换为android:windowBackground 同时将硬编码颜色(例如#707070)更改为颜色参考(例如@color/myYellowBackgroundColor)。

当使用android:windowBackground时,你告诉android只在屏幕上的主要活动中影响孩子视图的背景。

答案 3 :(得分:0)

在styles.xml文件中使用它

<item name="android:statusBarColor">@color/yourcolor</item>

记得在color.xml文件中添加颜色。不要硬编码你的颜色。