2015-05-27 51 views
-2

我已經自定義微調框的背景。我已經移除了背景並在旁邊顯示了一個微調箭頭。但是如果文本沒有正確對齊。較大的長度文本顯示在整個區域,但對於較小的文本,文本和箭頭之間存在差距。我已經使用了下面的代碼:在Android中自定義微調器給空間問題

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

我想把整個對齊放在正確的位置。我在這裏連接屏幕截圖:

enter image description here

請幫我解決這個問題。

這裏是我的適配器微調:

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

感謝。

+0

您是否嘗試將重力設置爲正確? – pratz9999

+0

爲每個組件以及相對佈局嘗試引力權。不工作。 –

+0

你如何實現適配器?如果要更改文本對齊方式,則不能使用默認微調器項目佈局,您需要自定義項目佈局。 – ivagarz

回答

2

微調器中的視圖是從適配器獲得的,所以如果您想更改其中的任何內容(包括文本對齊方式),則需要編輯用作下拉資源的佈局。

因此,請攜帶您的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" />