I have a TextInputEditText
in conjunction with TextInputLayout
with android:inputType="textPassword"
using app:passwordToggleEnabled="true"
to show password toggle button in the TextInputEditText
like next image:
The problem is once I press the password toggle button, it disappears for ever.
It was working well in com.android.support:design:24.2.0
version.
am I missing something new? it's a bug?
Some gradle project's setup:
minSdkVersion 17
targetSdkVersion 25
compile 'com.android.support:support-v4:25.1.0'
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.android.support:cardview-v7:25.1.0'
compile 'com.android.support:design:25.1.0'
Running in 2 different Android 6.0 (Marshmallow) devices.
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>
If I use app:passwordToggleDrawable
with a custom drawable in TextInputLayout
it doesn't disappear.
The related style:
<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>
change gradle file by following dependency
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
In xml file, add following lines for toggle button in password field
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
app:passwordToggleEnabled="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/text_input_edit_text_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Password"
android:imeActionId="@+id/login"
android:imeActionLabel="Login"
android:imeOptions="actionUnspecified"
android:inputType="textPassword"
android:maxLines="1"
tools:text="password" />
</android.support.design.widget.TextInputLayout>
Add
<item name="passwordToggleDrawable">@drawable/design_password_eye</item>
<item name="passwordToggleTint">@color/design_tint_password_toggle</item>
<item name="passwordToggleContentDescription">@string/password_toggle_content_description</item>
on your TextLabelGray style and it will show toggle button again.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With