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

时间:2015-02-07 07:37:32

标签: android android-layout android-spinner

我在Android中创建了一个自定义微调器。在16个以上的设备中看起来像this,在16或更低的设备中看起来像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>

我不明白为什么它变黑了?

2 个答案:

答案 0 :(得分:3)

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

&#13;
&#13;
<shape>
  <solid android:color="@color/white"/>
  ....
</shape>
                  
&#13;
&#13;
&#13;

因此,在gradient_spinner.xml中,您将获得以下代码:

&#13;
&#13;
<?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>
&#13;
&#13;
&#13;

抱歉我的英文。谢谢

答案 1 :(得分:1)

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

在gradient_spinner.xml上添加了这个并且工作