0

我已将我的项目迁移到 androidX 并使用带有材料设计组件的新材料主题。我能够为我的 TextInputLayout 使用新的 Outlined 样式,目前它以白色显示标题。我尝试将样式设置为TextInputLayoutwith。

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 import 是

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

布局如下所示,我错过了什么?如何更改标题的颜色TextInputLayout?目前我设置了深色背景,因此文本可见,但我想使用白色背景,当我这样做时,标题与背景混合并且不可见。

在此处输入图像描述

4

2 回答 2

0

尝试使用

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>
于 2018-11-25T18:55:53.447 回答
0

尝试使用提示颜色?在布局?这在正常情况下适用于材料设计我的意思是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">
于 2018-11-25T15:01:22.763 回答