2012-07-05 10 views
6

Ho terminato la versione inglese della mia applicazione e ora sto lavorando alla localizzazione in arabo. L'arabo è una lingua da destra a sinistra, quindi ho bisogno di regolare molte cose nel mio layout, incluso il mio display spinner.Android: allineamento del testo di Spinner a destra ma non centrato

Ho utilizzato lo stesso approccio menzionato qui Android - Text is Pushed to the Left in a Spinner ma ho impostato la gravità a destra.

Ecco il mio 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" /> 

cambiato il mio codice

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

a questo

adapter.setDropDownViewResource(R.layout.spinner_item); 

voglio che il mio filatore a guardare come il mio vecchio filatore inglese che trovate di seguito ,

English spinner

Ma attualmente appare così,

Arabic spinner

Come posso ripristinare il seguente:

  1. Il pulsante di scelta
  2. La dimensione del testo grande
  3. voglio a destra come mostrato ma centrato tra i due divisori.

NOTA I servizi Web in arabo non sono ancora terminati, ecco perché i dati nell'immagine sono ancora in inglese.

UPDATE

Dopo aver provato il suggerimento di Adil Soomro, ottengo il seguente,

Spinner semi-desired

Non c'è RadioButton e c'è un notevole spazio tra il bordo e la prima lettera.

UPDATE

Dopo modifica di Adil Soomro, ora ho il seguente,

Spinner Arabic Fixed

risposta

6

Devi usare CheckedTextView, risolverà tutti e 3 i tuoi problemi.

Metterete un qualcosa di layout xml come questo:

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

quando è CheckedTextView questo metodo non funziona più: - | Sebbene con TextView generale è Ok. – par4301

0

modificare il codice

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

Per

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

Prova questo:

android:layout_gravity="right" 
Problemi correlati