【发布时间】:2017-05-16 23:16:44
【问题描述】:
我有一个TextInputEditText 与TextInputLayout 和android:inputType="textPassword" 一起使用app:passwordToggleEnabled="true" 在TextInputEditText 中显示密码切换按钮,如下图所示:
问题是一旦我按下密码切换按钮,它就会永远消失。
它在 com.android.support:design:24.2.0 版本中运行良好。
我错过了什么新东西吗?这是一个错误?
一些 gradle 项目的设置:
minSdkVersion 17
targetSdkVersion 25
编译 'com.android.support:support-v4:25.1.0'
编译'com.android.support:appcompat-v7:25.1.0'
编译 'com.android.support:cardview-v7:25.1.0'
编译 'com.android.support:design:25.1.0'
在 2 种不同的 Android 6.0 (Marshmallow) 设备上运行。
XML:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/TextLabelGray"
app:passwordToggleEnabled="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/profile_field_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/perfil_field_password"
android:inputType="textPassword"
android:maxLines="1"
android:maxLength="100"
android:imeOptions="actionNext"
android:imeActionLabel="@string/perfil_field_tipo_documento"
android:textColor="@color/colorAccent"
android:textSize="@dimen/perfil_text_view_text_size"
android:paddingStart="15dp"
android:paddingEnd="5dp"/>
</android.support.design.widget.TextInputLayout>
如果我在TextInputLayout 中将app:passwordToggleDrawable 与自定义可绘制对象一起使用,它不会消失。
相关风格:
<style name="TextLabelGray" parent="TextAppearance.AppCompat">
<!--//hint color And Label Color in False State-->
<item name="android:textColorHint">@color/gray_text_color</item>
<item name="android:textColorHighlight">@color/gray_text_color</item>
<item name="android:textColorLink">@color/gray_text_color</item>
<item name="colorAccent">@color/gray_text_color</item>
<item name="colorControlNormal">@color/gray_text_color</item>
<item name="colorControlActivated">@color/gray_text_color</item>
</style>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="colorControlNormal">@color/colorControlNormal</item>
<item name="searchViewStyle">@style/AppTheme.MySearchViewStyle</item>
</style>
【问题讨论】:
-
我尝试了相同的代码,它正在工作。请检查一次使用的主题。
-
@AndroidGeek 我在没有
android:theme="@style/TextLabelGray"的情况下尝试过,我发现按钮并没有消失,它只是变得透明,因为我仍然可以按下它并具有隐藏/取消隐藏密码行为。尝试使用黑色背景,但仍然得到相同的结果。有什么想法吗? -
玩
TextInputLayout我发现了这个:如果我在app:passwordToggleDrawable和app:passwordToggleContentDescription中使用自定义drawable,按钮不会消失 -
没有
theme="@style/TextLabelGray"也能正常工作。因此,为了帮助您,我们需要了解该主题。 -
该死!这是一个错误look this linkxD
标签: android android-support-library android-inputtype android-textinputedittext