Text Field. Material Design. Password Toggle!

На сайте material design представлен пример text field password toggle. Выглядит он следующим образом:

введите сюда описание изображения

У меня же выглядит по-иному. Когда "глазик" открыт у меня пароль скрыт. Когда "глазик" закрыт у меня пароль находится в открытом состоянии. Как-то неправильно получается. Мой код представлен ниже, но я пробовал в чистом проекте этот виджет. Ничего не изменилось (думал, что где-то накосячил и добавил лишний параметр какой-то). В чем может заключаться решение? Знаю, что можно самому задать картинки под каждое состояние, но здесь уже анимации, да и просто интересно, почему так некорректно выходит.

            <com.google.android.material.textfield.TextInputLayout
                style="@style/TextInputLayoutPassword">

                <com.google.android.material.textfield.TextInputEditText
                    style="@style/EditTextPassword"/>

            </com.google.android.material.textfield.TextInputLayout>

<style name="TextInputLayoutPassword" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_marginLeft">@dimen/button_side_margin</item>
    <item name="android:layout_marginRight">@dimen/button_side_margin</item>
    <item name="android:fontFamily">@font/roboto_regular</item>
    <item name="boxBackgroundColor">@color/colorBackgroundActiveEditText</item>
    <item name="errorEnabled">true</item>
    <item name="boxStrokeWidth">0dp</item>
    <item name="hintEnabled">false</item>
    <item name="errorTextColor">@color/strokeColorError</item>
    <item name="boxStrokeErrorColor">@color/strokeColorError</item>
    <item name="startIconDrawable">@drawable/ic_lock</item>
    <item name="endIconMode">password_toggle</item>
    <item name="endIconTint">@color/state_password_toggle</item>
</style>

<style name="EditTextPassword">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textSize">@dimen/text_size_edit_text_16dp</item>
    <item name="android:textColorHint">@color/colorTextHint</item>
    <item name="android:inputType">textPassword</item>
</style>

Нашел в чем проблема. По началу была зависимость представленная ниже:

implementation 'com.google.android.material:material:1.3.0-alpha01'

Далее, было изменена версия на более раннюю

implementation 'com.google.android.material:material:1.2.0-alpha01'

На более ранней версии стало отображаться все так как надо. Только перестал работать selector в атрибуте:

<item name="endIconTint">@color/state_password_toggle</item>

Код selector:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:color="#2B2B2B" android:state_checked="true"/>
     <item android:color="#cccccc" android:state_checked="false"/>
</selector>

Есть идеи как с этим бороться? Или ждать update?


Ответы (0 шт):