我正在尝试使用提示创建一个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" />
任何想法如何才能达到预期效果?
答案 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。