我正在尝试将一个drawableleft添加到Edittext:
<EditText
android:id="@+id/editUserName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/icon_email"
android:hint="@string/login_identity_hint"
android:textSize="12sp" />
以下是它的样子:
如您所见,图像与其父级边框不匹配,即使我没有设置任何填充,也会从左侧,底部和顶部填充。我该怎么办?
我也尝试了以下方法:
<RelativeLayout
android:id="@+id/editUserNameContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/icon_email"
android:layout_alignParentLeft="true"/>
<EditText
android:layout_toRightOf="@+id/img"
android:id="@+id/editUserName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawablePadding="5dp"
android:hint="hint"
android:textSize="12sp" />
</RelativeLayout>
但这一次,它看起来如下:图像和edittext的高度不匹配,它们之间有一个小的差距:
感谢。
答案 0 :(得分:1)
我在想,你能想到的唯一方法是做这样的事情......
从EditText删除 android:drawablePadding =“5dp”
从EditText中删除 android:layout_toRightOf =“@ + id / img”
将 android:paddingLeft =“50dp”添加到EditText
将 android:layout_alignParentLeft =“true”添加到ImageView
这只会将图像放在编辑文本的顶部,并使用填充将图像文本框中的文本向右移动一点。您可能需要对图像视图进行调整以使其恰到好处
让我知道这是如何运作的!
<ImageView android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/icon_email"
android:layout_alignParentLeft="true"/>
<EditText
android:layout_alignParentLeft="true"
android:id="@+id/editUserName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="50dp"
android:hint="hint"
android:textSize="12sp" />