3

我正在尝试创建一个带有提示的 EditText 作为图标和文本。但是提示文本位于中心,但我希望提示文本左对齐,以便提示图标和提示文本之间应该只有一个制表符空间(间隙)。

这是我尝试过的:

<EditText
        android:id="@+id/emailAddressInput"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:ems="10"
        android:layout_marginTop ="20dp"
        android:layout_marginLeft ="20dp"
        android:layout_marginRight ="20dp"
        android:background="@drawable/rounded_edge"
        android:drawableLeft="@drawable/email_box"
        android:hint="e-mail address"
        android:gravity="left|center_vertical"
        android:maxLength="100"
        android:inputType="textEmailAddress" />

知道如何达到预期的效果吗?

4

3 回答 3

9

ImageSpan是最好的方法。

但是你必须通过 Java 代码来完成。

ImageSpan imageHint = new ImageSpan(mContext, R.drawable.icon_hint);
SpannableString spannableString = new SpannableString("_I'm the hint");
spannableString.setSpan(imageHint, 0, 1, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
mEditor.setHint(spannableString);
于 2015-11-06T09:18:23.963 回答
3

好的,经过一点调试,我发现图像尺寸占用了这么多空间,我将图像裁剪为更小的尺寸并且它起作用了。

于 2013-05-27T21:34:06.303 回答
0

添加

android:gravity="top"

到您的 EditText。

于 2013-05-27T20:51:34.447 回答