2012-07-05 18 views
6

Ukończyłem angielską wersję aplikacji i pracuję teraz nad lokalizacją arabską. Język arabski jest językiem pisanym od prawej do lewej, więc muszę dostosować wiele elementów w moim układzie, w tym mój ekran typu spinner.Android: wyrównanie tekstu pisaka w prawo, ale nie pośrodku.

Użyłem tego samego podejścia, o którym tutaj mowa Android - Text is Pushed to the Left in a Spinner, ale ustawiłem grawitację na prawą.

Oto moja 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" /> 

Zmieniono mój kod z

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

do tego

adapter.setDropDownViewResource(R.layout.spinner_item); 

Chcę moje spinner patrzeć jak mój stary angielski spinner znaleźć poniżej ,

English spinner

Ale to obecnie wygląda tak,

Arabic spinner

Jak mogę przywrócić następujące:

  1. Przycisk radiowy
  2. Im większy rozmiar tekstu
  3. chcę po prawej, jak pokazano, ale w środku pomiędzy dwoma dzielnikami.

UWAGA Serwisy internetowe w języku arabskim nie są jeszcze ukończone, dlatego dane na obrazie są nadal w języku angielskim.

UPDATE

Po wypróbowaniu sugestii Adil Soomro jest, pojawia się następujący,

Spinner semi-desired

Nie ma radiobutton i istnieje znaczna przestrzeń między granicą a pierwszą literę.

UPDATE

Po edycji Adil Soomro za, teraz mam następujące,

Spinner Arabic Fixed

Odpowiedz

6

Musisz użyć CheckedTextView, to rozwiąże wszystkie 3 problemy.

Będziesz umieścić układ xml coś takiego:

<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

gdy jest CheckedTextView ta metoda już nie działa: - | Chociaż z ogólnym TextView jest OK. – par4301

0

zmiany kodu

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

Aby

<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

Spróbuj tego:

android:layout_gravity="right" 
Powiązane problemy