Как изменить, где начинается ввод пользовательского ввода

#android #xml

#Android #xml

Вопрос:

В настоящее время у меня есть поле для ввода имени пользователя и пароля с «username» и «password» в качестве подсказок. Я хочу, чтобы ввод данных пользователем начинался там, где начинаются слова «имя пользователя» и «пароль». Когда пользователь начинает печатать, я хочу, чтобы текст начинался именно с этого. В настоящее время он перемещает текст в начало поля и вырезает часть текста. Как я могу изменить, с чего начинается текст?

 <!-- Username text -->
    <EditText
        android:id="@ id/username"
        android:layout_width="329dp"
        android:layout_height="37dp"
        android:layout_marginBottom="160dp"
        android:background="@drawable/text_input_rounded_button"
        android:clickable="true"
        android:ems="10"
        android:fontFamily="@font/days_one"
        android:hint="   Username"
        android:inputType="textPersonName"
        android:singleLine="true"
        android:textAppearance="@style/TextAppearance.AppCompat.Body2"
        android:textColor="#80000000"
        android:textSize="12sp"
        android:visibility="visible"
        app:layout_constraintBottom_toTopOf="@ id/loginButton"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />
  

как вы можете видеть из изображения, я хочу, чтобы «dbullard417» начинался правее, чтобы он был не так близко к краю, но я не хочу, чтобы он располагался по центру.

Комментарии:

1. Это будет легко понять, если вы могли бы предоставить скриншот текущей ситуации. Я думаю, что ваше изображение не прикреплено.

Ответ №1:

Если вы просто хотите, чтобы ваш курсор был немного смещен вправо, вы можете добавить отступы к представлению.

Вы можете использовать это, чтобы добавить дополнение только в начале:

 android:paddingStart="15dp"
  

Или вы можете использовать это, чтобы добавить отступы во всех направлениях:

 android:padding="15dp"
  

Ответ №2:

Если вы хотите, чтобы курсор в TextView начинался с определенной позиции, используйте setSelection() метод в TextView качестве —

 //will take integer value to start position on textView for cursor.
textView.setSelection(<integer value>);
  

Я не смог понять желаемый результат, который вы ищете, но следующий пример может помочь вам получить ваш результат —

 String userNameSample = "Text";
username.setText(userNameSample );
username.setSelection(userNameSample.length());
  

введите описание изображения здесь

Счастливого кодирования!

Ответ №3:

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

 <EditText
  android:id="@ id/edt_username"
  android:inputType="textEmailAddress"
  android:textSize="@dimen/_12sdp"
  android:maxLines="1"
  android:text="test"
  android:hint="Username"/>