android - 如何在编辑文本中将图标居中?
问题描述
我在编辑文本中有一个图标和一个提示,我试图将编辑文本的内容水平居中,但这似乎只适用于提示而不适用于图标。该图标更靠近编辑文本的底部。
这是我的代码
<EditText
android:id="@+id/password_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:backgroundTint="@color/white"
android:background="@drawable/edittext_background"
android:inputType="textPassword"
android:gravity="center_vertical"
android:drawableStart="@drawable/ic_lock"
/>
解决方案
我没有使用该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_width="match_parent"
android:layout_height="wrap_content"
android:backgroundTint="@color/white"
android:drawablePadding="10dp"
android:gravity="center_horizontal"
android:inputType="textPassword" />
推荐阅读
- python - TypeError: __init__() 在创建 aiopg 池时需要 5 个位置参数错误
- linux - 如何在 bash 中用一个或多个分号和引号括起来的空行删除
- sql - Db2 嵌套 JSON
- angular - 带有 OpenID Connect 的 Angular i18n
- logstash - Logstash 配置文件中的 Grokparsefailure 和类型问题
- ios - 在 iOS 14 中的主应用程序和小部件之间共享 UserDefaults
- bash - 当分支和标签都指向同一个提交时,我如何引用分支?
- python - Pandas 使用具有重复索引的 loc 更新值
- css - 为什么 Google Chrome 上的 CSS 边框不同?
- python - 如何在 Python 中全局更改默认日期格式