Android:Spinner文本对齐到右边但没有居中

时间:2012-07-05 09:36:20

标签: android layout arabic

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

我使用了Android - Text is Pushed to the Left in a Spinner中提到的相同方法,但我将引力设置为正确。

这是我的spinner_item.xml

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

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:layout_width="fill_parent"
    android:gravity="right" />

更改了我的代码
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

到这个

adapter.setDropDownViewResource(R.layout.spinner_item);

我希望我的微调器看起来像我下面的旧英式旋转器,

English spinner

但目前看起来像这样,

Arabic spinner

如何恢复以下内容:

  1. 单选按钮
  2. 较大的文字大小
  3. 我希望它显示在右侧,但是在两个分隔线之间居中。
  4. 注意阿拉伯语网络服务还没有完成,这就是为什么图像中的数据仍然是英文的。

    更新

    在尝试了Adil Soomro的建议之后,我得到了以下内容,

    Spinner semi-desired

    没有单选按钮,边框和第一个字母之间有相当大的空间。

    更新

    在Adil Soomro编辑之后,我现在有了以下内容,

    Spinner Arabic Fixed

3 个答案:

答案 0 :(得分:6)

您必须使用CheckedTextView,它将解决您的所有3个问题。

你将放置一个像这样的布局xml:

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1"
    android:drawableLeft="?android:attr/listChoiceIndicatorSingle"
    android:gravity="right|center_vertical"
    android:singleLine="true"
    android:layout_width="fill_parent"
    android:textSize="20dp"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:ellipsize="marquee" />

答案 1 :(得分:1)

试试这个:

android:layout_gravity="right"

答案 2 :(得分:0)

更改您的代码

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:layout_width="fill_parent"
    android:gravity="right" />

<TextView
        xmlns:android="http://schemas.android.com/apk/res/android"
        style="?android:attr/listPreferredItemHeight"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="right" />