Android:TextInputLayout不同inputTypes的不同间距

问题描述 投票:0回答:2

我的问题是,我希望TextInputLayouts的间距完全相同,无论inputType

enter image description here

马上:

  1. 文本和线之间的android:inputType="textPassword"空间大于android:inputType="textNoSuggestions"中这两者之间的间距
  2. 文本和标签之间的间距也是如此。

如何使两个间距相等?

我的两个字段的XML:

<android.support.design.widget.TextInputLayout
                android:id="@+id/layout_login"
                style="@style/text_input_layout"
                android:layout_below="@+id/image_app_logo"
                android:layout_marginTop="30dp"
                app:errorEnabled="true">

                <android.support.v7.widget.AppCompatEditText
                    android:id="@+id/edit_text_login"
                    style="@style/app_edit_text"
                    android:hint="@string/email"
                    android:inputType="textNoSuggestions"
                    android:maxLength="@integer/max_characters_in_edit_text"
                    android:privateImeOptions="nm"
                    app:layout_constraintLeft_toLeftOf="parent"
                    app:layout_constraintRight_toRightOf="parent" />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:id="@+id/layout_login_password"
                style="@style/text_input_layout"
                android:layout_below="@+id/layout_login"
                app:errorEnabled="true"
                app:passwordToggleEnabled="true"
                app:passwordToggleTint="@color/colorTextTiny">

                <android.support.v7.widget.AppCompatEditText
                    android:id="@+id/edit_text_password"
                    style="@style/app_edit_text"
                    android:layout_height="wrap_content"
                    android:hint="@string/password"
                    android:imeOptions="actionDone"
                    android:inputType="textPassword"
                    android:maxLength="@integer/max_characters_in_edit_text" />
            </android.support.design.widget.TextInputLayout>
android android-layout android-edittext android-textinputlayout
2个回答
0
投票

试试这种方式

<android.support.design.widget.TextInputLayout
        android:id="@+id/login_input_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/size15"
        android:hint="@string/password"
        android:textColorHint="@color/colorblueLight
        app:passwordToggleEnabled="true">

        <EditText
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:inputType="textPassword"
                 android:longClickable="false"
                 android:maxLines="1"
                 android:textColor="@color/colorWhite" />

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

如果你想改变passwordToggle的颜色

private TextInputLayout inputPassword;
inputPassword = (TextInputLayout) findViewById(R.id.login_input_password);

inputPassword.setPasswordVisibilityToggleEnabled(true);
inputPassword.setPasswordVisibilityToggleTintList(ColorStateList.valueOf(ContextCompat.getColor(this, R.color.colorWhite)));

0
投票

我设法通过设置上部android:paddingBottom="10dp"android:paddingTop="10dp"EditText来解决这个问题。虽然我想指出这个解决方案显然是一个丑陋的解决方案 - 我仍然会欣赏更好的方法。

© www.soinside.com 2019 - 2024. All rights reserved.