[英]Android Dark Mode/Light Mode - android spinner dropdown popup background color
在將 Android 暗模式引入 android 操作系統后,我遇到了一個沖突的問題,在我的應用程序中,我使用以下自定義樣式來制作下拉菜單
在 app_text_box_design.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 暗模式中定義暗背景顏色,但是,如果用戶更改為亮模式,它會與設計沖突,所以我想知道我們如何為這兩種模式進行設置?
這個問題與樣式有關。 您必須在活動樣式中聲明一個特定屬性,以覆蓋 MaterialComponents 中的默認白色。
假設您的下拉菜單是由 res 文件夾下的菜單創建的,您只需將此屬性添加到您正在使用的樣式中:
<item name="android:itemBackground">@color/colorExample</item>
請注意,由於您有明暗模式,您可能會有兩種不同的樣式,一種稱為styles.xml,另一種稱為styles-night.xml。 確保根據您的模式更改顏色。
您可以將 colors.xml 用於日/夜主題。
colors.xml
colors.xml(night)
並且請在您的 AndroidManifest.xml Activity 中添加 android:configChanges="uiMode"
<activity
android:name="MainActivity"
android:configChanges="uiMode" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.