首页 > 解决方案 > 如何在编辑文本中将图标居中?

问题描述

我在编辑文本中有一个图标和一个提示,我试图将编辑文本的内容水平居中,但这似乎只适用于提示而不适用于图标。该图标更靠近编辑文本的底部。

这是我的代码

<EditText
            android:id="@+id/password_edittext"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Password"
            android:backgroundTint="@color/white"
            android:background="@drawable/edittext_background"
            android:inputType="textPassword"
            android:gravity="center_vertical"
            android:drawableStart="@drawable/ic_lock"
            />

标签: androidandroid-layoutandroid-edittext

解决方案


我没有使用该drawableStart属性,另一种方法是使用SpannableStringImageSpan通过代码设置您的提示。

SpannableString string = new SpannableString(" Password");
string.setSpan(new ImageSpan(this, R.mipmap.ic_launcher), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    
EditText password_edittext = findViewById(R.id.password_edittext);
password_edittext.setHint(string);

XML:

<EditText
        android:id="@+id/password_edittext"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:backgroundTint="@color/white"
        android:drawablePadding="10dp"
        android:gravity="center_horizontal"
        android:inputType="textPassword" />

在此处输入图像描述


推荐阅读