当最后一个字符位于edittext的中间时,android将文本向左滚动

时间:2018-10-23 18:24:55

标签: android

当最后一个字符位于编辑文本的中间而不是图片的末尾时,有什么方法可以向左滚动文本enter image description here

当文字到达箭头时,我需要将文字向左滚动并防止其接近文字“ @ gmail.com”

我进行了很多搜索,但我不知道所需的术语 这是我的代码

<android.support.constraint.ConstraintLayout
    android:id="@+id/emailMainLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/upPasswordLayout">

    <TextView
        android:id="@+id/gmailText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="18dp"
        android:layout_marginEnd="58dp"
        android:text="@gmail.com"
        android:visibility="invisible"
        android:textSize="@dimen/edit_text"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="@+id/emailLayout"
        app:layout_constraintTop_toTopOf="parent" />

    <android.support.design.widget.TextInputLayout
        android:id="@+id/emailLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:theme="@style/EditTextTheme"
        app:counterEnabled="true"
        app:counterMaxLength="30"
        app:counterOverflowTextAppearance="@style/error_appearance"
        app:counterTextAppearance="@style/counter_appearance"
        app:errorTextAppearance="@style/error_appearance"
        app:hintTextAppearance="@style/hint_appearance">

        <EditText
            android:id="@+id/email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawablePadding="10dp"
            android:drawableRight="@drawable/ic_email_black"
            android:hint="@string/prompt_email"
            android:inputType="textVisiblePassword|textNoSuggestions"
            android:maxLines="1"
            android:singleLine="true"
            android:textDirection="ltr"
            android:textSize="@dimen/edit_text"
            android:theme="@style/EditTextTheme"
            />
    </android.support.design.widget.TextInputLayout>
</android.support.constraint.ConstraintLayout>

2 个答案:

答案 0 :(得分:0)

创建一个具有透明背景的Button,并在其旁边放置一个EditText(带有“ @ gmail.com”文本),然后在其下面放置一个假行,以制作一个{{1 }}就像显示。 下面的代码显示了如何实现此目的。

TextView

答案 1 :(得分:-1)

您应该使用android:gravity="right"。您可以在布局中使用它,也可以在更改edittext文本后进行实用设置。

 EditText.addTextChangedListener(new TextWatcher() {

   @Override
   public void afterTextChanged(Editable s) {

    EdiText.setGravity(Gravity.RIGHT);

   }

   @Override    
   public void beforeTextChanged(CharSequence s, int start,
     int count, int after) {
   }

   @Override    
   public void onTextChanged(CharSequence s, int start,
     int before, int count) {

   }
  });