如何在编辑文本中居中图标?
Posted
技术标签:
【中文标题】如何在编辑文本中居中图标?【英文标题】:How do I center an icon in an Edit Text? 【发布时间】:2021-09-13 22:23:32 【问题描述】:我在编辑文本中有一个图标和一个提示,我试图将编辑文本的内容水平居中,但这似乎只适用于提示而不适用于图标。该图标更靠近编辑文本的底部。
这是我的代码
<EditText
android:id="@+id/password_edittext"
android:layout_
android:layout_
android:hint="Password"
android:backgroundTint="@color/white"
android:background="@drawable/edittext_background"
android:inputType="textPassword"
android:gravity="center_vertical"
android:drawableStart="@drawable/ic_lock"
/>
【问题讨论】:
android:gravity="center_horizontal"
?
【参考方案1】:
我在使用drawableStart
属性时运气不佳,另一种方法是使用SpannableString
和ImageSpan
通过代码设置提示。
SpannableString string = new SpannableString(" Password");
string.setSpan(new ImageSpan(this, R.mipmap.ic_launcher), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
EditText password_edittext = findViewById(R.id.password_edittext);
password_edittext.setHint(string);
XML:
<EditText
android:id="@+id/password_edittext"
android:layout_
android:layout_
android:backgroundTint="@color/white"
android:drawablePadding="10dp"
android:gravity="center_horizontal"
android:inputType="textPassword" />
【讨论】:
【参考方案2】:尝试删除重力属性,我认为它会为您工作,因为您将编辑文本的高度设置为包裹内容,这将自动使它们垂直居中。
【讨论】:
以上是关于如何在编辑文本中居中图标?的主要内容,如果未能解决你的问题,请参考以下文章
如何在Android中居中&左&右对齐ActionBar图标
如何左对齐 Flutter 中的 OutlineButton 图标