17

我有一个联系表格,我想在其中添加一些图标到我的编辑文本中以获得更好的外观。我想创建如下所示的 EditText。

在此处输入图像描述

我有如下所示的 EditText。我得到了类似的结果。我希望图像绝对在左侧,就像上图一样。我知道 EditText 内部使用的是九个补丁图像,我认为这就是结果有些不同的原因。谁能知道如何解决这个问题?

在此处输入图像描述

<EditText
            android:id="@+id/name"
            android:layout_width="fill_parent"
            android:layout_height="51dip"
            android:hint="@string/name"
            android:inputType="text"
            android:drawableLeft="@drawable/name_icon_edittext" />
4

4 回答 4

20

而不是使用android:drawableLeft="@drawable/name_icon_edittext"ImageViewname_icon. 这样您就可以更好地控制将其放置在layout

注意:我假设你layoutRelativeLayout

于 2012-09-16T04:48:48.167 回答
14

如果您想在文本和图像之间添加一些空格,请在 xml 中使用“drawablePadding”属性

android:drawablePadding="10dp"

这是如何在 xml 文件中的 edittext 中使用的完整示例

             <EditText
                android:id="@+id/edittext"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:drawableLeft="@drawable/ic_left"
                android:drawablePadding="10dp" />
于 2016-04-01T06:16:21.903 回答
3

您可以android:drawablePadding="10dp"在 xml 文件中使用属性。无需为图标创建单独的 imagview。

于 2018-07-19T09:44:45.127 回答
0

有点旧,但可能供将来参考:

我会自己用你想要的外观做一个 9-patch 图像,保持比例和除图标之外的所有东西,所以你可以自己添加它(并重用背景),drawableLeft属性为EditText. 这样,只有图像的中间部分会被拉伸,而其余部分将保持不变。

于 2014-01-20T16:15:20.717 回答