Подтвердить что ты не робот

Можете ли вы сделать ввод EditText справа налево?

Мне было интересно, можете ли вы управлять вводом текста EditText для перемещения справа налево? EditText должен будет поддерживать вставку/удаление и т.д. Справа налево. Есть ли способ сделать это?

4b9b3361

Ответ 1

Похоже, вам просто нужно установить гравитацию вправо.

Ответ 2

Добавьте это в свой editText

        android:textDirection="rtl"

Ответ 3

Просто используйте это:

android:layout_gravity="start"
android:textAlignment="viewStart"

Ответ 4

попробуйте этот код

//initialize
EditText userName = (EditText)findViewById(R.id.userName);

//set gravity for userName 
userName.setGravity(Gravity.RIGHT);

Ответ 5

Существует ручной способ сделать это, используя следующий код:

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_MENU) {
        // Each time click Menu button on the bar
        // Set the cursor to the first index
        mEtEmail.setSelection(0); // YOUR EDIT TEXT
    } 

    return super.onKeyUp(keyCode, event);
}

p/s: Или вы можете изменить

KeyEvent.KEYCODE_MENU

следуйте вашим пожеланиям,

Или вы можете попробовать с Bidi.

Спасибо,

Ответ 6

Вы можете добавить к своему тексту редактирования в XML:

в случае слева направо:

   android:textDirection="firstStrongLtr"                    

в случае справа налево:

   android:textDirection="firstStrongRtl"                    

Ответ 7

Правильный способ заключается в использовании:

android:textAlignment="viewStart"

Как это будет автоматически работать для LTR и RTL.

Ответ 8

Попробуйте это....

  • Инициализировать поля имени пользователя и пароля.

    EditText username = (EditText) findViewById(R.id.username);
    
    EditText password = (EditText) findViewById(R.id.password);
    
  • Получить текущий язык для языков RTL, таких как арабский и т.д.

    String getCurrentLocale = Locale.getDefault().getDisplayLanguage();
    
  • Затем мы должны проверить, какой язык выбран для RTL или LTR.

    if(getCurrentLocale.equalEgnoreCase("English")){          //LTR languages
    
          username.setGravity(Gravity.Left);
    
          password.setGravity(Gravity.Left);
    
     }else{                                                     //RTL languages
    
         username.setGravity(Gravity.Right);
    
         password.setGravity(Gravity.Right);
    
     }
    
  • Счастливое кодирование...!

Ответ 9

попробуйте код ниже

AutoCompleteTextView autoCompleteTextView = findViewById(R.id.main_searchBar);
autoCompleteTextView.setGravity(Gravity.RIGHT);