我有一个联系表单,我想在我的编辑文本中添加一些图标以便更好地查看。我想创建类似下面的EditText。
我有如下的EditText。我得到了类似的结果。我希望图像绝对在左侧,就像在上面的图像中一样。我知道内部EditText正在使用Nine Patch图像,我认为这就是为什么结果有些不同。任何人都知道如何解决这个问题吗?
<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" />
答案 0 :(得分:13)
不是使用android:drawableLeft="@drawable/name_icon_edittext"
,而是为ImageView
创建单独的name_icon
。
通过这种方式,您可以更好地控制将其放在layout
注意:我假设您layout
为RelativeLayout
答案 1 :(得分:12)
如果您想在文字和图片之间添加一些空格,请使用&#39; drawablePadding&#39; xml中的属性
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" />
答案 2 :(得分:1)
您可以在xml文件中使用android:drawablePadding="10dp"
属性。
无需为图标创建单独的imagview。
答案 3 :(得分:0)
有点旧,但为了将来的参考可能:
我会用自己想要的外观做一个9补丁图像,保留比例和除图标以外的所有图像,这样你就可以自己添加(并重复使用背景)drawableLeft
属性{{1 }}。这样,只有图像的中间部分会被拉伸,但其余部分将保持不变。