锭床工人背景颜色与dropdowndown图标

时间:2017-06-13 05:40:19

标签: android android-spinner

我正在尝试创建一个带有一些背景颜色和dropdownicon的微调器。但每当我应用背景颜色时,下拉图标就会消失。所以如何让Spinner有下拉图标&具有不同的背景颜色。 请查看我正在尝试的xml:

预期OutPut:

enter image description here

获取(没有下拉图标)

enter image description here

删除了背景然后我得到以下输出:

enter image description here

<android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginLeft="@dimen/dp_5"
        android:layout_marginRight="@dimen/dp_5"
        android:layout_weight="8"
        android:padding="@dimen/dp_8"
        app:cardElevation="@dimen/dp_5">

        <android.support.v7.widget.AppCompatSpinner
            android:id="@+id/appCompatSpinner"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:entries="@array/clubName"
            android:textAlignment="center"
            android:spinnerMode="dropdown"
           android:background="@color/colorPrimary_blue"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

        </android.support.v7.widget.AppCompatSpinner>
    </android.support.v7.widget.CardView>

2 个答案:

答案 0 :(得分:3)

简单的解决方法是将你的微调框包装在framelayout中并设置你选择的布局的背景颜色

 <FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/blue"
    >

    <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

</FrameLayout>

答案 1 :(得分:3)

创建.xml类并编写此coad。

   <?xml version="1.0" encoding="utf-8"?>
     <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <color android:color="@color/InputBg" />
</item>
<item android:gravity="center_vertical|right" android:right="8dp">
    <layer-list>
        <item android:width="12dp" android:height="12dp" android:gravity="center" android:bottom="10dp">
            <rotate
                android:fromDegrees="45"
                android:toDegrees="45">
                <shape android:shape="rectangle">
                    <solid android:color="#666666" />
                    <stroke android:color="#aaaaaa" android:width="1dp"/>
                </shape>
            </rotate>
        </item>
        <item android:width="30dp" android:height="10dp" android:bottom="21dp" android:gravity="center">
            <shape android:shape="rectangle">
                <solid android:color="@color/InputBg"/>
            </shape>
        </item>
    </layer-list>
</item>

        And Apply like this in Spinner.
 <Spinner
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/spinner_bg" />