13

我已经编译了以下设计库,它在右侧显示密码HIDE/SHOW按钮EditText

编译'com.android.support:design:24.2.1'

<android.support.design.widget.TextInputLayout
    android:id="@+id/login_password_text_input_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/spacing_normal">

    <android.support.v7.widget.AppCompatEditText
        android:id="@+id/login_password_edit_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:drawablePadding="@dimen/spacing_micro"
        android:hint="@string/prompt_password"
        android:imeActionId="@+id/login"
        android:imeActionLabel="@string/action_sign_in_short"
        android:imeOptions="actionUnspecified"
        android:inputType="textPassword"
        android:maxLines="1"
        android:text="password" />

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

像:

在此处输入图像描述

更新到之后

编译'com.android.support:design:25.0.1'

它不可见,为什么?有什么错误吗?

请指导。

4

6 回答 6

18

现在TextInputLayout默认禁用密码切换,以避免不必要地覆盖开发人员指定的最终可绘制对象。它可以通过passwordToggleEnabledXML 属性手动启用。

来自https://developer.android.com/topic/libraries/support-library/revisions.html

于 2016-12-12T10:15:50.333 回答
10

我用这个砸了几个小时的头。

来自发行说明: https ://developer.android.com/topic/libraries/support-library/revisions.html#

已修复问题:TextInputLayout 密码切换现在默认禁用,以避免不必要地覆盖开发人员指定的最终可绘制对象。它可以通过 passwordToggleEnabled XML 属性手动启用。

因此,要恢复它,您必须:

 <android.support.design.widget.TextInputLayout
    ...
    ...
    app:passwordToggleEnabled="true">

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

</android.support.design.widget.TextInputLayout>
于 2016-12-15T11:40:53.690 回答
2

它在 25.0.1 中被禁用。如果你想要它,你需要手动启用它

在此处查看参考

现在默认禁用 TextInputLayout 密码切换,以避免不必要地覆盖开发人员指定的最终可绘制对象。它可以通过 passwordToggleEnabled XML 属性手动启用。

于 2016-12-12T10:18:27.343 回答
2

现在默认禁用TextInputLayout密码切换,以避免不必要地覆盖开发人员指定的最终可绘制对象。它可以通过passwordToggleEnabledXML 属性手动启用。

请参阅 25.0.1 的修订版

注意:每个开发人员都必须查看修订文档。

于 2016-12-12T10:28:23.673 回答
1

使用这个

app:passwordToggleEnabled="true"  in TextInputLayout

并改变依赖

compile 'com.android.support:appcompat-v7:26.0.1'

为 api 26 (Android) 设置 Gradle

  <android.support.design.widget.TextInputLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/textInputLayout2"
                android:layout_marginLeft="@dimen/box_layout_margin_left"
                android:layout_marginRight="@dimen/box_layout_margin_right"
                android:padding="@dimen/text_input_padding"
                app:passwordToggleEnabled="true">

                <EditText
                    android:id="@+id/et_password"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    android:drawableLeft="@android:drawable/ic_lock_lock"
                    android:drawablePadding="10dp"
                    android:paddingLeft="35dp"
                    android:gravity="top"
                    android:hint="Password"
                    android:inputType="textPassword"
                    android:paddingRight="@dimen/edit_input_padding"
                    android:paddingTop="5dp"
                    android:singleLine="true">
                </EditText>

            </android.support.design.widget.TextInputLayout>
于 2017-10-03T07:48:17.210 回答
1

将 endIconMode 添加到 Custom 以为 textinputlayout 添加可绘制结束。

<com.google.android.material.textfield.TextInputLayout app:endIconMode="custom" app:endIconDrawable="@drawable/ic_tick_grey" .... </com.google.android.material.textfield.TextInputLayout>

于 2020-06-19T09:11:14.950 回答