2016-02-13 37 views
5

RTL dillerinde android giriş imleci ile ilgili bir sorunum var. RTL destek düzenindeyken iki giriş imlecim var ve gerçekten çok komik. Bu çözümden kurtulmak için gerçek bir çözümü var mı?RTL dillerde Android imleç

benim android UI RTL yapmak için bu kodu kullanın:

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

Ve metin görünümü için bu benim xml:

<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

Merkezden edimlixt ağırlık ayarladınız ve imlecin kafası karışmış olabilir. Bu olmamalı, ancak doğru yerçekimini bırakmayı deneyin, o zaman sorun gelmeyebilir. daha iyi yerçekimi değeri verin –

+0

@CreativeAndroid Söylediğiniz her şeyi yaptım ve hala aynı problem. –

+0

edittext gönder xml –

cevap

1

Ben sorunu çözmek. Sadece düzenleme metni dilini soldan sağa yapın ve sorun çözüldü.

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

Yukarıdaki layoutDirection Metninizi Düzenle'ye ekleyin ve sorunu düzeltin. düzenleme metin alanının>

İşte
android:textDirection="anyRtl" 

, "edittext" dir görünümünüzü - xml düzende

0

aşağıda kullanarak çözüme ..

, metin düzenleme alanı için bu ekleyin. Daha sonra, bu düzenleme metnine programlı olarak metin izleyicisini ekleyiniz.

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) { 

       } 
      }); 
     } 

Bu benim için çalıştı!

İlgili konular