Android 如何更改用户输入开始键入的位置

Android 如何更改用户输入开始键入的位置,android,xml,Android,Xml,我目前有一个框,可以输入用户名和密码,并以“用户名”和“密码”作为提示。单词“username”和“password”开始的地方就是我希望用户输入开始的地方。当用户开始键入时,我希望文本从这里开始。目前,它正在将文本推到框的开头,并将部分文本切掉。如何更改文本的起始位置 <!-- Username text --> <EditText android:id="@+id/username" android:layout_

我目前有一个框,可以输入用户名和密码,并以“用户名”和“密码”作为提示。单词“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”从更右边开始,这样它就不会离边缘太近,但我不希望它居中。

如果希望文本视图上的光标从特定位置开始,请使用
文本视图上的
setSelection()
方法-

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


快乐编码

如果您只想让光标稍微向右移动,可以在视图中添加填充

您可以使用此选项仅在开始处添加填充:

android:paddingStart="15dp"
或者,您可以使用此选项在各个方向添加填充:

android:padding="15dp"
请尝试以下代码:

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

如果您能提供当前情况的屏幕截图,将很容易理解。我想你的照片没有附上。
<EditText
  android:id="@+id/edt_username"
  android:inputType="textEmailAddress"
  android:textSize="@dimen/_12sdp"
  android:maxLines="1"
  android:text="test"
  android:hint="Username"/>