我正在使用我的表单中的切换密码,这是我的代码:
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_pass"
android:layout_width="match_parent"
android:layout_height="37dp"
android:layout_marginTop="10dp"
app:hintEnabled="false"
app:passwordToggleEnabled="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/password"
style="@style/edittexts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_pass"
android:inputType="textPassword"
app:passwordToggleEnabled="true" />
</android.support.design.widget.TextInputLayout>
它可以正常工作,并在我的EditText中显示"切换按钮"视图。
我只想将图标移至编辑文本的左侧,我该怎么办?
您需要更改编辑文本的方向,但是它将更改您的编辑方向。
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_pass"
android:layout_width="match_parent"
android:layout_height="37dp"
android:layout_marginTop="10dp"
android:layoutDirection="rtl"
app:hintEnabled="false"
app:passwordToggleEnabled="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/password"
style="@style/edittexts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_pass"
android:inputType="textPassword"
app:passwordToggleEnabled="true" />
</android.support.design.widget.TextInputLayout>
另外,如果您使用的是17以下的API版本,则需要在代码中添加此属性
TextInputLayout input_layout_pass = (TextInputLayout) findViewById(R.id.input_layout_pass);
ViewCompat.setLayoutDirection(input_layout_pass, ViewCompat.LAYOUT_DIRECTION_RTL);
检查 TextInputLayout
的文档:
注意:使用密码切换功能时,在启用切换时,可删除的"端"复合物将被覆盖。为了确保正确恢复任何现有的可抽取物
基于此,您会发现如果不更改该字段的文本方向,就无法更改按钮的位置。