android暗模式/亮模式-android微调器下拉菜单背景色

ia2d9nvy  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(302)

在android操作系统引入android暗模式后,我遇到了一个矛盾的问题,在我的应用程序中,我使用以下自定义样式来创建下拉菜单

应用内文本框设计.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item>
                <shape>
                    <solid android:color="@color/colorPrimaryAppBg" />
                    <corners android:radius="3dp" />
                    <stroke android:width="1px" android:color="@color/colorPrimaryBorder" />
                </shape>
            </item>
            <item android:width="30dp" android:gravity="right">
                <bitmap android:gravity="center_vertical|right" android:src="@drawable/baseline_arrow_drop_down_white_24" />
            </item>
        </layer-list>
    </item>
</selector>

在选择器中,我使用它如下

<Spinner
                    android:id="@+id/spIam"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    android:background="@drawable/app_text_box_design"
                    android:padding="10dp" />

如果在android黑暗模式下定义一个黑暗的背景颜色,那么在黑暗模式下,它工作得很好,但是,如果用户更改为光明模式,它会与设计冲突,所以我想知道我们如何为这两种模式做设置?

iovurdzv

iovurdzv1#

这个问题与风格有关。您必须在活动样式中声明一个特定属性,以覆盖materialcomponents的默认白色。
假设您的下拉菜单是由res folder下的菜单创建的,您只需将此属性添加到您正在使用的样式中:

<item name="android:itemBackground">@color/colorExample</item>

请注意,由于您使用的是明暗模式,因此可能有两种不同的样式,一种称为styles.xml,另一种称为styles-night.xml。一定要根据你的模式改变颜色。

相关问题