Android Spinner:删除文本和下拉图标之间的额外空白区域

Aki*_*RMS 6 whitespace android android-spinner dropdown

我有一个微调器,默认情况下,文本和下拉图标之间有额外的空白区域,我真的不喜欢并想删除它.

尝试在网上搜索,但没有得到任何可以帮助我的东西.这里有人早点做过吗?

微调

Aki*_*RMS 7

我和Spinner玩后自己做了.这是一个非常好的解决方案.

首先使用您选择的指标图像创建下拉列表.

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape
        android:shape="rectangle"/>
</item>
<item
    android:width="24dp"
    android:height="24dp"
    android:gravity="right|center_vertical">
    <bitmap
        android:src="@drawable/ic_dropdown"
        android:tint="@color/colorPrimaryDark"/>
</item></layer-list>
Run Code Online (Sandbox Code Playgroud)

然后将其分配给Spinner的背景.

<Spinner
        android:id="@+id/basket_spinner_item_quantity"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:spinnerMode="dropdown"
        android:padding="0dp"
        android:background="@drawable/ic_spinner_dropdown"/>
Run Code Online (Sandbox Code Playgroud)

现在,根据您的要求调整微调器项目的填充和对齐.

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/simple_spinner_text_quantity"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:paddingLeft="20dp"
android:paddingRight="25dp"
android:gravity="right"
android:textAlignment="gravity"/>
Run Code Online (Sandbox Code Playgroud)


Moh*_*Zek 7

将重力设置为结束并调整为适当的值:

  android:gravity="end"
  android:paddingEnd="20dp"
Run Code Online (Sandbox Code Playgroud)