ChangeTextInputLayout Цвет заголовка - PullRequest
0 голосов
/ 25 ноября 2018

Я перенес свой проект на androidX и использую новую тему материала с компонентом дизайна материала.Я смог использовать новый стиль Outlined для моего TextInputLayout, в настоящее время он показывает заголовок белым цветом.Я попытался установить стиль на TextInputLayout с помощью.

style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"

Но он показывает заголовок белым цветом.

После этого я создал отдельный стиль в styles.xml

<style name="TextLabel" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
    <item name="boxStrokeColor">@color/colorAccent</item>
    <item name="android:textColorHint">@color/colorAccent</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColorHint">@color/colorAccent</item>
    <item name="android:textColor">@color/white</item>
    <item name="colorControlNormal">@color/colorAccent</item>
    <item name="colorControlActivated">@color/colorAccent</item>
    <item name="colorControlHighlight">@color/colorAccent</item>
</style>

Я использую этот стиль для своего xml, как показано ниже.

<com.google.android.material.textfield.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/pad_small"
        android:hint="Search Store"
        style="@style/TextLabel">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/et_search"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/ic_search"/>
</com.google.android.material.textfield.TextInputLayout>

Используемый Gradle импорт -

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

Макет выглядит следующим образом, что мне не хватает?Как изменить цвет заголовка TextInputLayout?В настоящее время я установил темный фон, чтобы текст был виден, но я хочу использовать белый фон, и когда я это делаю, заголовок смешивается с фоном и не отображается.

enter image description here

Ответы [ 2 ]

0 голосов
/ 25 ноября 2018

Попробуйте использовать

android:textColorHighlight="@color/when_focused"
android:textColorHint="@color/not_focused"

Измените styles.xml следующим образом

<style name="TextLabel"parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
    <item name="boxStrokeColor">@color/colorAccent</item>
    <item name="android:textColorHint">@color/colorAccent</item>
    <item name="android:textColor">@color/white</item>
    <item name="android:textColorHighlight="@color/when_focused"</item>
 </style>

Если это не сработает, попробуйте использовать эти два непосредственно в XML

<com.google.android.material.textfield.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/pad_small"
    android:textColorHighlight="@color/when_focused"
    android:textColorHint="@color/not_focused"
    android:hint="Search Store"
    style="@style/TextLabel">

    <com.google.android.material.textfield.TextInputEditText
        android:id="@+id/et_search"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/ic_search"/>
 </com.google.android.material.textfield.TextInputLayout>
0 голосов
/ 25 ноября 2018

Попробуйте использовать hintColor?В макете?Это работает в обычных случаях, не работает с дизайном материала, я имел в виду hintColor таким образом

<com.google.android.material.textfield.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/pad_small"
    android:hintColor="#0000"
    android:hint="Search Store"
    style="@style/TextLabel">
...