如何将drawableleft边框与其父编辑文本的边框相匹配?

时间:2014-07-18 08:46:38

标签: android

我正在尝试将一个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" />

以下是它的样子:

enter image description here

如您所见,图像与其父级边框不匹配,即使我没有设置任何填充,也会从左侧,底部和顶部填充。我该怎么办?

我也尝试了以下方法:

<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的高度不匹配,它们之间有一个小的差距:

enter image description here

感谢。

1 个答案:

答案 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" />