Android EditText 中左侧可绘制对象和文本之间的间隙

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/23607945/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-20 07:18:25  来源:igfitidea点击:

Gap between left drawable and text in a EditText

androidandroid-layoutandroid-edittext

提问by N Sharma

Hello I am setting drawable to left end in the EditTextusing property android:drawableLeft="@drawable/email_drawable", I am trying this it set the drawable perfectly but it is not setting gap between left drawable and text. Could you please help me to achieve this ?

你好,我在EditTextusing 属性中将 drawable 设置为左​​端android:drawableLeft="@drawable/email_drawable",我正在尝试它完美地设置了 drawable,但它没有设置 left drawable 和文本之间的间隙。你能帮我实现这个目标吗?

<EditText
    android:id="@+id/emailEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/sign_up_edittext_vertical_top_margin"
    android:drawableLeft="@drawable/email_drawable"
    android:imeOptions="actionNext"
    android:inputType="textEmailAddress"
    android:singleLine="true" />

enter image description here

在此处输入图片说明

回答by erakitin

You should add android:drawablePaddingattribute to your EditText. Example layout with 10dpdrawable padding:

您应该将android:drawablePadding属性添加到您的EditText. 带有10dp可绘制填充的示例布局:

<EditText
    android:id="@+id/emailEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/sign_up_edittext_vertical_top_margin"
    android:drawableLeft="@drawable/email_drawable"
    android:imeOptions="actionNext"
    android:inputType="textEmailAddress"
    android:drawablePadding="10dp"
    android:singleLine="true" />

回答by Gentle

to move the drawable icon left or right use android:paddingLeftor android:paddingRightdo not use android:drawablePadding

向左或向右移动可绘制图标使用android:paddingLeftandroid:paddingRight不使用android:drawablePadding

回答by Haresh Chhelana

When you set any drawable using android:drawableLeft/ android:drawableRightproperty then you can add space or gap using android:drawablePaddingproperty.

当您使用android:drawableLeft/android:drawableRight属性设置任何可绘制对象时,您可以使用android:drawablePadding属性添加空间或间隙。

<EditText
    android:id="@+id/emailEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/sign_up_edittext_vertical_top_margin"
    android:drawableLeft="@drawable/email_drawable"
    android:imeOptions="actionNext"
    android:drawablePadding="5dp" // set your padding or gap size here
    android:inputType="textEmailAddress"
    android:singleLine="true" />