Android Gradient Background drawable不起作用

时间:2018-09-12 05:26:39

标签: android background gradient drawable

我创建了这个可绘制资源,backgroundactivity,用作我的应用程序的背景:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<item
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <shape
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <gradient
            android:angle="90"
            android:startColor="#BFEFFF"
            android:centerColor="#B0E2FF"
            android:endColor="#82CFFD"
            android:type="linear"/>
    </shape>
</item>
</selector>

我想为我的所有活动设置背景,因此我试图将这种可绘制资源放在如下的styles.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:actionBarStyle">@style/MyActionBar</item>
    <item name="android:background">@drawable/backgroundactivity</item>
</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="@android:background">@color/colorPrimary</item>
</style>
</resources>

但是这种方式不起作用:默认情况下,背景仍然保持白色。我还尝试用android:windowBackground替换android:background,但这会使我的应用程序完全变黑。

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试使用windowBackground代替background

<item name="@android:windowBackground">@color/colorPrimary</item>

答案 1 :(得分:0)

只需将后台activity.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="#BFEFFF"
            android:centerColor="#B0E2FF"                
            android:type="linear" />
    </shape>
</item>
</selector>