2012-07-05 16 views
6

Tôi đã hoàn thành phiên bản tiếng Anh của đơn đăng ký của mình và bây giờ tôi đang làm việc về bản địa hóa tiếng Ả Rập. Tiếng Ả Rập là ngôn ngữ từ phải sang trái, vì vậy tôi cần phải điều chỉnh nhiều thứ trong bố cục của mình, bao gồm cả màn hình hiển thị xoay tròn.Android: Căn chỉnh văn bản Spinner ở bên phải nhưng không được làm trung tâm

Tôi đã sử dụng cùng một phương pháp được đề cập ở đây Android - Text is Pushed to the Left in a Spinner nhưng tôi đặt trọng lực sang phải.

Đây là spinner_item.xml tôi

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

Thay đổi mã của tôi từ

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

này

adapter.setDropDownViewResource(R.layout.spinner_item); 

Tôi muốn spinner của tôi trông giống như spinner tiếng Anh cũ của tôi tìm thấy dưới đây ,

English spinner

Nhưng nó hiện trông như thế này,

Arabic spinner

Làm thế nào tôi có thể khôi phục như sau:

  1. Nút radio
  2. Kích thước văn bản lớn hơn
  3. Tôi muốn nó ở bên phải như được hiển thị nhưng trung tâm giữa hai ngăn.

LƯU Ý Dịch vụ web tiếng Ả Rập chưa hoàn tất, đó là lý do dữ liệu trong ảnh vẫn bằng tiếng Anh.

CẬP NHẬT

Sau khi thử gợi ý Adil Soomro, tôi có được những điều sau đây,

Spinner semi-desired

Không có radiobutton và có một không gian đáng kể giữa đường viền và chữ cái đầu tiên.

CẬP NHẬT

Sau khi chỉnh sửa Adil Soomro, tôi bây giờ có những điều sau đây,

Spinner Arabic Fixed

Trả lời

6

Bạn phải sử dụng CheckedTextView, nó sẽ giải quyết tất cả 3 vấn đề của bạn.

Bạn sẽ đặt một cái gì đó bố trí xml như thế này:

<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

khi nó là CheckedTextView phương pháp này không có tác dụng nữa: - | Mặc dù với TextView chung nó là Ok. – par4301

0

thay đổi mã của bạn

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

Hãy thử điều này:

android:layout_gravity="right"