Android Активировано раскрывающееся меню с раскрывающимся списком материалов с использованием пользовательского цвета вместо основного цвета - PullRequest
1 голос
/ 20 июня 2020

У меня возникла проблема при попытке изменить цвет подчеркивания и плавающей метки моего раскрывающегося раскрывающегося меню, когда оно активировано. «colorControlActivated» моего раскрывающегося раскрывающегося меню с заливкой в ​​настоящее время имеет зеленый цвет sh синий. независимо от того, что я указываю (черный) в файле стиля, в моем меню registerOrderName все равно будет использоваться цвет colorPrimary для colorControlActivated. В моем файле стиля

    <!-- Legacy TextField Theme-->
    <style name="TextInputLayoutAppearance" parent="Widget.Design.TextInputLayout">
        <item name="colorControlNormal">@color/textPlaceholderColor</item>
        <item name="colorControlActivated">@color/textFieldColor</item>
        <item name="colorControlHighlight">@color/textFieldColor</item>
    </style>

    <!-- TextField Hint Theme-->
    <style name="TextInputLayoutHintText">
        <item name="android:textColor">@color/textPlaceholderColor</item>
        <item name="android:textSize">16sp</item>
    </style>

    <!-- Legacy Drop Down Menu Theme-->
    <style name="MenuLayoutAppearance" parent="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu">
        <item name="colorControlNormal">@color/textPlaceholderColor</item>
        <item name="boxBackgroundColor">@color/white</item>
        <item name="colorControlActivated">@color/textFieldColor</item>
        <item name="colorControlHighlight">@color/textFieldColor</item>
    </style>

    <style name="Autocomplete">
        <item name="colorControlActivated">@color/textFieldColor</item>
        <item name="colorControlHighlight">@color/textFieldColor</item>
    </style>

в моей деятельности. xml файл

            android:id="@+id/registerTextInputLayout4"
            style="@style/MenuLayoutAppearance"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="20dp"
            android:layout_marginTop="10dp"
            android:layout_marginEnd="20dp"
            android:elevation="12dp"
            app:hintTextAppearance="@style/TextInputLayoutHintText"
            app:layout_constraintEnd_toEndOf="@+id/registerForm"
            app:layout_constraintStart_toStartOf="@+id/registerForm"
            app:layout_constraintTop_toBottomOf="@+id/registerTextInputLayout3">

            <androidx.appcompat.widget.AppCompatAutoCompleteTextView
                android:id="@+id/registerOrderName"
                android:theme="@style/Autocomplete"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:fontFamily="@font/open_sans"
                android:hint="@string/RegisterForm4"
                android:paddingStart="0dp"
                android:paddingEnd="0dp"
                android:singleLine="true"
                android:textColor="@color/textFieldColor"
                android:textCursorDrawable="@drawable/cursor_color"
                android:textSize="18sp" />

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

В моем цветном файле

    <color name="colorPrimary">#00BEBA</color>
    <color name="colorPrimaryDark">#00BEBA</color>
    <color name="colorAccent">#F60606</color>
    <color name="white">#FFFFFF</color>
    <color name="green">#17B3AB</color>
    <color name="version">#0B0008</color>
    <color name="appBackgroundColor">#00BEBA</color>
    <color name="textPlaceholderColor">#807E7E</color>
    <color name="textFieldColor">#000000</color>
    <color name="textFieldCursorColor">#FB0000</color>
    <color name="textFieldHightLightColor">#2196F3</color>
    <color name="customGreen">#92CFCD</color>
    <color name="defaultLinkBlue">#007aff</color>
    <color name="facebookBlue">#3B5998</color>

1 Ответ

0 голосов
/ 20 июня 2020

Вы можете переопределить colorPrimary, используя атрибут android:theme:

   <com.google.android.material.textfield.TextInputLayout
        style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu"
        android:theme="@style/InputText_Overlay"
        ..>

           <AutoCompleteTextView
             android:layout_width="match_parent"
             android:layout_height="wrap_content">

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

с:

<style name="InputText_Overlay">
    <item name="colorPrimary">@color/....</item>
</style>
...