【问题标题】:Android Material Exposed Dropdown Menu activated use custom color instead of primary colorAndroid Material Exposed Dropdown Menu 激活使用自定义颜色而不是原色
【发布时间】:2020-06-19 23:07:18
【问题描述】:

当我的暴露下拉菜单被激活时,我在尝试更改其下划线和浮动标签的颜色时遇到问题。 我填充的暴露下拉菜单的“colorControlActivated”目前是蓝绿色。无论我在样式文件中指示什么(黑色),我的 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>

在我的 activity.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>

【问题讨论】:

    标签: java android drop-down-menu android-textinputlayout material-components-android


    【解决方案1】:

    您可以使用android:theme 属性覆盖colorPrimary

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-23
      • 2020-02-21
      • 2018-07-24
      • 2018-11-28
      • 2019-04-04
      • 2019-04-23
      • 2010-09-18
      相关资源
      最近更新 更多