2016-02-13 33 views
5

Tôi gặp sự cố với con trỏ nhập Android trong ngôn ngữ RTL. Khi tôi đang ở trong bố trí hỗ trợ RTL, tôi có hai con trỏ đầu vào và nó thực sự buồn cười. Liệu nó có giải pháp thực sự, để loại bỏ điều này?Con trỏ Android bằng ngôn ngữ RTL

tôi sử dụng mã này để làm cho Android UI RTL của tôi:

getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); 

Và đây xml của tôi cho xem văn bản:

<android.support.design.widget.TextInputLayout 
     android:id="@+id/input_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="numberDecimal" 
      android:id="@+id/myID" 
      android:maxLines="1" 
      android:focusableInTouchMode="true" 
      android:layout_weight="0.25" 
      android:layout_gravity="center_horizontal" 
      android:hint="phone Number" 
      android:maxLength="20" 
      android:gravity="center" /> 
    </android.support.design.widget.TextInputLayout> 

enter image description here

+0

Tôi có thể do bạn đã đặt trọng tâm edittext thành tâm và con trỏ bị nhầm lẫn. Điều này không nên xảy ra nhưng cố gắng trái trọng lực phải sau đó có thể là vấn đề không đến. tốt hơn bạn cung cấp cho giá trị hấp dẫn bắt đầu –

+0

@CreativeAndroid Tôi đã làm tất cả mọi thứ bạn nói và vẫn còn cùng một vấn đề. –

+0

đăng edittext xml của bạn –

Trả lời

1

tôi giải quyết vấn đề. Chỉ cần chỉnh sửa ngôn ngữ soạn thảo từ trái sang phải và vấn đề được giải quyết.

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:inputType="number" 
    android:ems="10" 
    android:id="@+id/PhoneNoET" 
    android:layout_marginTop="64dp" 
    android:layout_below="@+id/textView6" 
    android:layout_centerHorizontal="true" 
    android:textAlignment="center" 
    android:maxLength="11" 
    android:layoutDirection="ltr"/> 

Thêm bố cục ở trênChuyển đến văn bản chỉnh sửa của bạn và khắc phục sự cố.

0

tôi giải quyết nó bằng cách sử dưới đây ..

Trong layout xml của bạn, để chỉnh sửa trường văn bản thêm này ->

android:textDirection="anyRtl" 

Ở đây, "EditText" ở chế độ bạn của lĩnh vực chỉnh sửa văn bản. tức là,

EditText editText = (EditText) findViewById(R.id.edit_text); 

Sau đó, thêm trình theo dõi văn bản có lập trình cho văn bản chỉnh sửa đó.

editText.addTextChangedListener(new TextWatcher() { 
       @Override 
       public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

       } 

       @Override 
       public void onTextChanged(CharSequence s, int start, int before, int count) { 
        editText.setSelection(s.length()); // this line is very important for setting cursor position 
       } 

       @Override 
       public void afterTextChanged(Editable s) { 

       } 
      }); 
     } 

Điều này phù hợp với tôi!

Các vấn đề liên quan