我当前的Android应用程序正在尝试启用Dark Theme时使用以下样式
<resources>
<style name="AppTheme" parent="@style/Theme.MaterialComponents.DayNight.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorError">@color/design_default_color_error</item>
<item name="android:textColor">?attr/colorOnBackground</item>
</style>
<style name="splashDialog" parent="Theme.AppCompat.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowBackground">@null</item>
</style>
</resources>
UI中的一切都工作正常,除了这个SVG图像,它似乎是相同的,在光明和黑暗的主题
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="@android:color/white"
android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.9,2 2,2zM18,16v-5c0,-3.07 -1.63,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.64,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2zM16,17L8,17v-6c0,-2.48 1.51,-4.5 4,-4.5s4,2.02 4,4.5v6z" />
</vector>
在“暗”模式下,如何才能获得理想的“更亮”图像效果?
3条答案
按热度按时间l2osamch1#
在我的项目中,我对drawable使用了负滤镜,如下所示:
kr98yfug2#
您可以应用灰度作为饱和度,并根据需要在图像视图对象上减少alpha。
灰色图像视图:
减少alpha:
hyrbngr73#
如果所有其他操作都失败,您可以手动执行此操作:
1.制作超值夜文件夹
1.将colors.xml复制/粘贴到此处
1.编辑要更改为深色模式的颜色
1.编辑属性的svg文件
android:tint="?attr/colorControlNormal" android:fillColor="@color/myFillColor"
有时候你可能需要创建一个单独的夜间资源,例如我有一个svg,其中白天有一个alpha值,但是晚上我不想要它。在这种情况下,你可以:
制作一个可绘制的夜晚文件夹,并创建2个独立的SVG的颜色,你想要的。
或
使用相同的文件,但将dimens.xml文件复制/粘贴到values-night文件夹中。