当背景设置为自定义微调器 xml 文件时,微调器箭头消失?

问题描述 投票:0回答:1

我想向我的微调器添加边框和圆角,据我所知,这可以通过创建单独的自定义微调器 xml 文件来完成。然而,当我这样做时,旋转箭头消失了。即使我将位图添加到自定义微调器 xml 文件中,此问题仍然存在。

example image

这是我的代码:

activity_main.xml

<Spinner
        android:id="@+id/postOptions"
        android:layout_width="150dp"
        android:layout_height="48dp"
        android:entries="@array/postOptions"
        android:spinnerMode="dropdown"
        android:background="@drawable/spinner_layout"
        app:layout_constraintBottom_toTopOf="@+id/bottomNavigationView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.061"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/header"
        app:layout_constraintVertical_bias="0.026" />

spinner_layout.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF"/>
    <corners android:radius="4dp"/>
    <stroke android:color="@color/theme" android:width="1dp"/>
    <item>
        <bitmap
            android:gravity="center_vertical|right"
            android:src="@drawable/baseline_arrow_drop_down_circle_24"/>
    </item>
</shape>
android xml spinner
1个回答
0
投票

当您使用

android:background="@color/your_color"
设置微调器背景颜色时,微调器默认箭头将消失

在框架布局中编写微调器代码,在这里您不需要使用单独的图像视图来显示下拉图标。

<FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/spinner_layout">

            <Spinner
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:dropDownSelector="@color/colorAccent"
                android:dropDownWidth="@dimen/dp_70"
                android:spinnerMode="dropdown"
                android:tooltipText="Select floor" />
</FrameLayout>

spinner_layout.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF"/>
    <corners android:radius="4dp"/>
    <stroke android:color="@color/theme" android:width="1dp"/>
</shape>
© www.soinside.com 2019 - 2024. All rights reserved.