自定义微调框下拉箭头

时间:2018-08-01 07:55:36

标签: java android android-spinner

我有以下布局XML:

<android.support.v7.widget.AppCompatSpinner
            android:id="@+id/content_spinner"
            style="@style/Widget.AppCompat.Spinner.Underlined"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:layout_marginEnd="8dp"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:background="@drawable/border"
            android:entries="@array/books"
            android:spinnerMode="dropdown"
            android:theme="@style/large_spinner"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

@style/large_spinner看起来像这样:

 <style name="large_spinner" parent="Widget.AppCompat.Light.DropDownItem.Spinner">
        <item name="android:paddingStart">0dp</item>
        <item name="android:paddingEnd">0dp</item>
        <item name="android:textColor">@color/nearlyBlack</item>
        <item name="android:textSize">30sp</item>
        <item name="android:drawableRight">@drawable/ic_menu_camera</item>
    </style>

哪个是我想要的微调框右侧的camera图标。但是,当我放下微调框时,该图标位于每个项目上,我不希望这样。我只希望微调器上的图标位于右侧,而不是每个项目中的图标。

我该如何实现?

1 个答案:

答案 0 :(得分:1)

尝试一下

<android.support.v7.widget.AppCompatSpinner
    android:id="@+id/content_spinner"
    style="@style/Widget.AppCompat.Spinner.Underlined"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:layout_marginEnd="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:background="@drawable/test"
    android:entries="@array/books"
    android:spinnerMode="dropdown"
    android:theme="@style/large_spinner"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
  

android:background =“ @ drawable / test”

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item>
                <shape>
                    <solid android:color="@android:color/white" />
                    <corners android:radius="4dp" />
                    <padding android:left="8dp" />
                </shape>
            </item>

            <item  android:gravity="left|bottom" android:drawable="@drawable/ic_menu_camera" />

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

样式名称=“ large_spinner”

<style name="large_spinner" parent="Widget.AppCompat.Light.DropDownItem.Spinner">
    <item name="android:paddingStart">0dp</item>
    <item name="android:paddingEnd">0dp</item>
    <item name="android:textColor">@color/nearlyBlack</item>
    <item name="android:textSize">30sp</item>
</style>