EditText提示文本和图标

时间:2013-05-27 20:46:44

标签: android android-edittext

我正在尝试使用提示创建一个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" />

任何想法如何才能达到预期效果?

3 个答案:

答案 0 :(得分:8)

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);

答案 1 :(得分:3)

好的,经过一些调试后,我发现图像尺寸占用了很多空间,我将图像裁剪成更小的尺寸并且有效。

答案 2 :(得分:0)

添加

android:gravity="top"

到您的EditText。