2012-07-05 312 views
3

我完成了我的應用程序的英文版本,現在我正在開發阿拉伯文本地化。阿拉伯語是一種從右到左的語言,所以我需要在我的佈局中調整很多東西,包括我的微調器顯示。Android:Spinner選擇對齊左側

當我選擇從旋轉選擇菜單中的項目,我看到了下面,

Spinner selection

正如你所看到的「過敏」是左對齊,並在旋轉箭頭上。我需要它與右邊對齊。

備註阿拉伯web服務尚未完成,這就是爲什麼圖片中的數據仍然是英文的。

編輯

Spinner mSpecialtySpinner = (Spinner) findViewById(R.id.specialty_appointment_spinner); 
     ArrayAdapter<Specialty> adapter = new ArrayAdapter<Specialty>(AppointmentReservationActivity.this,android.R.layout.simple_spinner_item, specialities); 
     adapter.setDropDownViewResource(R.layout.spinner_item); 
     mSpecialtySpinner.setAdapter(adapter); 

回答

10

那麼你可以有另一種佈局微調,並把它傳遞給ArrayAdapter's構造函數。

使一個XML文件中的佈局像這樣命名spinner_layout.xml

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:layout_width="fill_parent" 
    android:textSize="20sp" 
    android:paddingLeft="6dip" 
    android:paddingRight="6dip" 
    android:gravity="right" 
    /> 

,現在通過它在ArrayAdapter's構造是這樣的:

new ArrayAdapter<String>(this,R.layout.spinner_layout,conversionsadd); 

請記住:

我們所提供as R.layout.spinner_layout in ArrayAdapter構造函數是Spinner的佈局。我們將提供的作爲setDropdownView()是Spinner項目(下拉項目)。

你可以在我的另一個親戚答案看看here

+0

正是我需要的!太感謝了! – 2012-07-05 14:48:07

0

所有你需要做的就是創建一個新的微調下拉菜單佈局和相應的插件設置android:gravity="right"

與調用它:

yourSpinner.setDropDownViewResource(R.layout.right_aligned_spinner_dropdown_item); 
+0

謝謝您的回答。如果你可以請檢查我的其他帖子http://stackoverflow.com/questions/11341613/android-spinner-text-alignment-to-the-right-but-not-centered你會看到我使用的是android:gravity = 「right | center_vertical」,但它只應用於下拉視圖而不是未點擊的微調視圖。有任何想法嗎? – 2012-07-05 13:13:33