Android:Spinner选择对齐左侧

时间:2012-07-05 12:36:48

标签: android layout spinner arabic gravity

我完成了我的应用程序的英文版本,现在我正在进行阿拉伯语本地化。阿拉伯语是一种从右到左的语言,所以我需要在布局中调整很多东西,包括我的微调器显示。

当我从微调器选择菜单中选择一个项目时,我看到以下内容,

Spinner selection

正如您所见,“过敏”与旋转箭头的左侧和顶部对齐。我需要它与右边对齐。

注意阿拉伯语网络服务还没有完成,这就是为什么图片中的数据仍然是英文的。

修改

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

2 个答案:

答案 0 :(得分:11)

你可以为Spinner设置另一个布局并将其传递给ArrayAdapter's构造函数。

在布局中创建一个命名为spinner_layout.xml的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);

请记住:

我们在R.layout.spinner_layout构造函数中提供的ArrayAdapter是Spinner的布局。我们将setDropdownView()提供的内容是Spinner项目(下拉项目)。

您可以查看我的另一个相对答案here

答案 1 :(得分:0)

您需要做的就是创建一个新的微调器下拉布局,并在相应的小部件上设置android:gravity="right"

用以下方式调用:

yourSpinner.setDropDownViewResource(R.layout.right_aligned_spinner_dropdown_item);