Android - 删除Spinner下拉箭头

Met*_*lor 35 android spinner android-layout android-spinner android-selector

我只是想知道是否可以简单地删除微调器的下拉箭头?我的旋转器在背景布局中有一个可绘制的箭头,但系统默认箭头出现在旋转器的右侧,我想摆脱它.

这是我的活动布局的微调器xml代码

<Spinner
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/spinnerSelectStaff"
            android:layout_gravity="center_horizontal"
            android:layout_marginLeft="18dp"
            android:layout_marginRight="18dp"
            android:gravity="center"
            android:dropDownSelector="@drawable/empty"/>
Run Code Online (Sandbox Code Playgroud)

我的自定义微调器布局如下所示:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@android:id/text1"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_margin="5dp"
          android:gravity="center"
          android:textSize="20sp"
          android:background="@drawable/spinner_text_shape"
          android:drawableRight="@drawable/ic_keyboard_arrow_down_black_24dp"
          android:textColor="@color/primary_text" />
Run Code Online (Sandbox Code Playgroud)

谢谢!

Gal*_*lya 104

如果您不想声明特定样式,布局xml文件中的背景@null也可以解决问题:

        <Spinner
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@null"/>
Run Code Online (Sandbox Code Playgroud)


Pra*_*raj 17

这可能对你有帮助

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style parent="@android:style/Widget.Spinner" name="SpinnerwithNoArrow">
        <item name="android:background">@android:drawable/edit_text</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

在您的微调器中使用此样式


小智 7

请尝试以下简单方法:

android:background="@android:color/transparent"
Run Code Online (Sandbox Code Playgroud)


小智 5

这两个答案对我都没有帮助,因此这是一个非常简单的单行解决方案。

  //some spinner initialisation stuff->
mySpinner.setAdapter(adapter);

  //some spinner initialisation stuff->
mySpinner.getBackground().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
Run Code Online (Sandbox Code Playgroud)

我无法确定它是否仅适用于默认的微调器布局,但是它与我为其他需求而创建的自定义设置很好地结合使用。