Android 启用密码切换后,如何更改EditText中的中心对齐方式?
在我的Android应用程序中,有一个表单,用户可以输入密码。我将Android 启用密码切换后,如何更改EditText中的中心对齐方式?,android,xml,Android,Xml,在我的Android应用程序中,有一个表单,用户可以输入密码。我将TextInputLayout与passwordToggleEnabled=“true”一起使用,因此用户可以单击图标查看或隐藏正在键入的密码。 输出与之类似: 问题是我需要对齐文本中心。但是,当我尝试使用textAlignment=“center”时,文本居中考虑了密码切换图标的大小: 我真正想要的是以文本为中心,只考虑编辑文本的大小。查看差异,当文本在没有密码切换的情况下对齐时: 我需要像上一张图片一样的中心对齐,但是带
TextInputLayout
与passwordToggleEnabled=“true”
一起使用,因此用户可以单击图标查看或隐藏正在键入的密码。
输出与之类似:
问题是我需要对齐文本中心。但是,当我尝试使用textAlignment=“center”
时,文本居中考虑了密码切换图标的大小:
我真正想要的是以文本为中心,只考虑编辑文本的大小。查看差异,当文本在没有密码切换的情况下对齐时:
我需要像上一张图片一样的中心对齐,但是带有密码图标。但是,当我启用它时,文本像第二张图片一样居中,将图标作为文本居中的考虑因素
有没有一种方法可以忽略密码图标的大小,将文本居中放置在编辑文本处
源代码:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="40dp"
android:layout_marginStart="40dp"
android:textAlignment="center"
app:errorEnabled="true">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:inputType="textPassword"
android:textAlignment="center"
android:textColor="#121c2a"
android:textSize="20sp" />
</android.support.design.widget.TextInputLayout>
如果有人有类似的问题,我找到了答案 我必须添加一个带有“空白”空格的绘图栏,如下所示:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="1dp"
android:viewportWidth="1.0"
android:viewportHeight="1.0">
<path
android:pathData="M"
android:fillColor="#0000"/>
</vector>
然后我在EditText的开头添加了这个图标,使用
android:drawableStart=“@drawable/ic_密码_空间”
这样,在开始和结束处都有一个图标,使切换保持居中