如何使TextInputLayout和EditText提示引力与TogglerVisibility相同?

时间:2017-07-12 10:25:20

标签: android android-edittext android-textinputedittext

目前我正在使用登录表单,这是输出。

enter image description here

这是xml代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/activity_vertical_margin"
            app:hintEnabled="false"
            app:passwordToggleContentDescription="description"
            app:passwordToggleEnabled="true">

            <android.support.design.widget.TextInputEditText
                android:id="@+id/edt_password"
                android:layout_width="match_parent"
                android:layout_height="@dimen/password_edit_text_height"
                android:background="@drawable/custom_border_statup_edittext"
                android:gravity="center"
                android:hint="@string/hint_password"
                android:inputType="textPassword" />

        </android.support.design.widget.TextInputLayout>

    </LinearLayout>

但我想要电子邮件和密码提示重心确切的中心。没有切换它显示中心,但切换它不显示中心。反正有吗?

1 个答案:

答案 0 :(得分:0)

只需在EditText的左侧添加透明drawable。

<android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:passwordToggleEnabled="true">

                <EditText
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:drawableLeft="@drawable/ic_password_space"
                    android:drawableStart="@drawable/ic_password_space"
                    android:gravity="center" />

</android.support.design.widget.TextInputLayout>

对于透明绘图,您可以使用android:width="48dp"

随意使用

drawable目录中创建名为ic_password_space的可绘制资源文件。

<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>