Подчеркивание, курсор и подсказка исчезли в TextInputEditText в TextInputLayout на фокусе - PullRequest
1 голос
/ 01 октября 2019

У меня есть экран редактирования профиля с кучей TextInputEditTexts. Раньше все работало нормально, но теперь при подчеркивании фокуса курсор и подсказка становятся невидимыми.

Кто-нибудь сталкивался с такой же проблемой?

enter image description here

...

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/tilFirstName"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintStart_toEndOf="@id/ivContactIcon"
        app:layout_constraintEnd_toEndOf="@id/gEnd"
        app:layout_constraintTop_toBottomOf="@id/toolbar"
        android:layout_marginStart="@dimen/margin_32"
        android:layout_marginTop="@dimen/margin_24"
        android:hint="@string/profile_edit_hint_first_name"
        >

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/etFirstName"
            android:layout_height="wrap_content"
            style="@style/FontRoboRegularSizeMFontPrimaryOneLineMatchWrap"
            tools:text="Oleh"
            android:inputType="textCapWords"
            android:maxLines="1"
            android:nextFocusForward="@id/etLastName"
            android:imeOptions="actionNext"
            />
    </com.google.android.material.textfield.TextInputLayout>

...

ОБНОВЛЕНИЕ: После изменения фона корневого элемента становится ясно, что эти элементы становятся белыми. не исчез.

enter image description here

Ответы [ 2 ]

1 голос
/ 01 октября 2019

Стиль по умолчанию, используемый TextInputLayout, равен

<style name="Widget.MaterialComponents.TextInputLayout.FilledBox" parent="Base.Widget.MaterialComponents.TextInputLayout">
    <!-- underline color in FilledBox style -->
    <item name="boxStrokeColor">@color/mtrl_filled_stroke_color</item>

    <!-- The color of the label when it is collapsed and the text field is active -->
    <item name="hintTextColor">?attr/colorPrimary</item>
    ....
</style>

. mtrl_filled_stroke_color основан на colorOnSurface.

. Проверьте в вашей теме colorPrimary иcolorOnSurface значений или используйте пользовательский стиль с такими же атрибутами, как описано выше.

0 голосов
/ 01 октября 2019

Чтобы изменить цвет нижней строки, вы можете попробовать это в теме вашего приложения:

<item name="colorControlNormal">#c5c5c5</item>
<item name="colorControlActivated">@color/accent</item>
<item name="colorControlHighlight">@color/accent</item>
...