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

时间:2017-08-23 16:57:05

标签: android whitespace android-spinner dropdown

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

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

Spinner

7 个答案:

答案 0 :(得分:6)

我和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>

然后将其分配给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"/>

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

<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"/>

答案 1 :(得分:1)

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

  android:gravity="end"
  android:paddingEnd="20dp"

答案 2 :(得分:0)

只需将以下属性添加到您的spinner xml元素:

对于API&lt; 17:

android:gravity="right"

对于API =&gt; 17:

android:gravity="end"

答案 3 :(得分:0)

Quickfix

android:layout_marginStart="-40dp"

根据需要玩负边距游戏。在微调器项目xml中

答案 4 :(得分:0)

出于某种原因,给padding:20dp可以解决我的问题。另外,使用translationX的值来调整下拉图标的位置。最后,您可以使用layout_marginLeftlayout_marginRight相应地移动整个下拉列表。

答案 5 :(得分:0)

使用以下代码进行快速修复

 <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="-9dp"
        android:layout_marginTop="10dp"
        android:entries="@array/almanac"
        android:gravity="left"
        android:padding="0dp"
        android:spinnerMode="dropdown"
        android:layout_marginStart="-9dp" />

答案 6 :(得分:-1)

在xml中删除微调器的填充

	
<div style={{overflowY:'auto', marginRight: '18px',zIndex:'1000',borderBottom:'1px solid black',borderRight:'1px solid black', height: this.props.rowData[this.state.selected].rowItemsList.length * singleRowHeight + 'px', maxHeight:'100px' }}> 

<div style={{ width:'inherit', maxHeight:this.props.this.props.rowData[this.state.selected]‌​.rowItemsList.length * singleRowHeight + 'px' }}>

SpinnerAdapter或您的Adapter类应根据您的需要进行自定义。

{{1}}

更改微调器列表项布局中的样式属性