Android 中的自定义微调器出现 space 问题

Customize the spinner in Android is giving space issue

我已经自定义了微调器的背景。我已经删除了背景并在其旁边显示了一个微调器向下箭头。但是如果文本没有正确对齐。较大长度的文本显示在完整区域中,但对于较小的文本,文本和箭头会出现间隙。我使用了以下代码:

<RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/txtSelectVehins"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginTop="30dp"
                android:text="Select Vehicle"
                android:textColor="#F8F1F1"
                android:textStyle="bold" />

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="30dp"
                android:layout_toRightOf="@id/txtSelectVehins" >

                <Spinner
                    android:id="@+id/sp_veh_insrenew"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:background="@null"
                    android:drawSelectorOnTop="true"
                    android:minHeight="0dp"
                    android:spinnerMode="dropdown"
                    android:textSize="16sp" />

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:src="@drawable/dropdownarrow" />
            </RelativeLayout>
        </RelativeLayout>

我想将整个对齐方式正确对齐。我在这里附上了屏幕截图:

请帮我解决这个问题。

这是我的微调器适配器:

 editStateAdapter = new ArrayAdapter<String>(EditStateCity.this, R.layout.spinner_item, Constants.stateList);
                  editStateAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item);
                  mSpEditState.setAdapter(editStateAdapter);

这里是微调器文本的自定义布局:

    <?xml version="1.0" encoding="utf-8"?>

<TextView  
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"
    android:textSize="13sp"
    android:textColor="#FFFFFF" 
    android:textStyle="bold"  
    android:paddingRight="20dip" 
    />

谢谢。

微调器中的视图是从适配器获得的,因此如果您想更改其中的任何内容,包括文本对齐方式,您将需要编辑用作下拉资源的布局。

因此,获取您的 R.layout.spinner_itemR.layout.simple_spinner_dropdown_item 资源并更新它们,以便它们包含的 TextView 的文本右对齐。

<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:textSize="13sp"
    android:textColor="#FFFFFF" 
    android:textStyle="bold"  
    android:paddingRight="20dip"
    android:gravity="right" />