4

我完成了我的应用程序的英文版,现在我正在处理阿拉伯语本地化。阿拉伯语是一种从右到左的语言,因此我需要调整布局中的很多内容,包括微调器显示。

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

微调器选择

如您所见,“过敏”位于微调箭头的左侧和顶部。我需要它向右对齐。

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

编辑

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

2 回答 2

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_layoutArrayAdapter构造函数中提供的是 Spinner 的布局。我们将提供的setDropdownView()是 Spinner 项目(下拉项目)。

您可以在这里查看我的另一个相对答案

于 2012-07-05T14:33:22.093 回答
0

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

调用它:

yourSpinner.setDropDownViewResource(R.layout.right_aligned_spinner_dropdown_item); 
于 2012-07-05T13:05:59.907 回答