Android 自定义微调器在 17 台设备中变黑

Android custom spinner went black in 17- devices

我在 Android 中创建了一个自定义微调器。在 16 或以下看起来像 this in 16+ devices and this

<Spinner
        android:id="@+id/spinner"
        style="@style/spinner_style"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/line1"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
         /> 

styles.xml

 <style name="spinner_style" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:background">@drawable/gradient_spinner</item>
    <item name="android:layout_marginLeft">10dp</item>
    <item name="android:layout_marginRight">10dp</item>
    <item name="android:layout_marginBottom">10dp</item>
    <item name="android:paddingLeft">8dp</item>
    <item name="android:paddingTop">5dp</item>
    <item name="android:paddingBottom">5dp</item>
    <item name="android:popupBackground">#DFFFFFFF</item>
</style>

gradient_spinner.xml

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

<item>
    <layer-list>
        <item>
            <shape>


                <stroke android:width="1dp" android:color="#000000" />

                <corners android:radius="0dp" />

                <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
            </shape>
        </item>
        <item>
            <bitmap android:gravity="bottom|right" android:src="@drawable/icon_drop" />
        </item>
    </layer-list>
</item>

不明白为什么变黑了??

 <solid android:color="#ffffff"/>

在 gradient_spinner.xml 上添加了这个并且有效

在android 16个形状中默认黑色。将黑色替换为任何其他颜色,例如白色。要覆盖颜色,您需要添加以下内容:

<shape>
  <solid android:color="@color/white"/>
  ....
</shape>
                  

结果,在gradient_spinner.xml你会得到如下代码:

<?xml version="1.0" encoding="utf-8"?>
    <item>
        <layer-list>
            <item>
                <shape>

                    <solid android:color="@color/white"/>
                  
                    <stroke android:width="1dp" android:color="#000000" />

                    <corners android:radius="0dp" />

                    <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
                </shape>
            </item>
            <item>
                <bitmap android:gravity="bottom|right" android:src="@drawable/icon_drop" />
            </item>
        </layer-list>
    </item>

对不起我的英语。谢谢