自定义微调器不显示下拉选项

时间:2017-11-15 08:00:39

标签: android spinner

我创建了一个具有以下背景的自定义微调器。现在我的问题是我无法使用下拉箭头(下拉箭头不显示选项)。有什么帮助吗?

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:left="50dip">
        <shape xmlns:android="http://schemas.android.com/apk/res/android">
            <solid android:color="@color/colorGreen"/>
            <stroke android:width="0.5dp" android:color="@color/colorGreen" />
            <corners android:topRightRadius="@dimen/x30" android:bottomRightRadius="@dimen/x30"/>
            <padding android:left="0dp" android:top="0dip" android:right="0dip" android:bottom="0dip" />
        </shape>
    </item>
    <item android:right="50dip">
        <shape xmlns:android="http://schemas.android.com/apk/res/android">
            <solid android:color="@color/colorWhite"/>
            <stroke android:width="0.5dp" android:color="@color/colorGreen" />
            <corners android:topLeftRadius="@dimen/x30" android:bottomLeftRadius="@dimen/x30" ></corners>
            <padding android:left="0dip" android:top="0dip" android:right="0dp" android:bottom="0dip" />
        </shape>
    </item>
    <item
        android:bottom="@dimen/x20"
        android:top="@dimen/x20"
        android:right="@dimen/x20">
        <bitmap android:src="@drawable/drop_down"
            android:gravity="center|right" />
    </item>

</layer-list>

2 个答案:

答案 0 :(得分:0)

this is my custom spinner background  spinnerbg.xml



<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item>
                <shape>
                    <gradient android:angle="90"
                        android:endColor="@color/spinner"
                        android:startColor="@color/spinner"
                        android:type="linear" />

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

                </shape>
            </item>
            <item>
                <bitmap android:gravity="bottom|right"
                    android:src="@drawable/dropdown" />

            </item>
        </layer-list>
    </item>

</selector> 





    Inside my style.xml i have done like this


     <style name="spinner_style" >
            <item name="android:background">@drawable/spinnerbg</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>
        </style>

你可以尝试一下这对我来说很好吗

答案 1 :(得分:0)

从xml

中删除它
<item
    android:bottom="@dimen/x20"
    android:top="@dimen/x20"
    android:right="@dimen/x20">
    <bitmap android:src="@drawable/drop_down"
        android:gravity="center|right" />
</item>

在下拉列表旁边的xml中添加另一个按钮。将该按钮背景设置为drawable drop_down。然后在该按钮的onCliskListener中,您可以显示/隐藏您的下拉列表。在onClick中设置适配器并将此适配器提供给微调器,这样一旦点击它就会创建你的下拉菜单,因为它们非常靠近彼此,你的按钮看起来就是下拉菜单的一部分。