Fur*_*kul 7 android material-design material-you
所以,我的老板让我分析从Android 12开始如何实现Material You颜色。我一直在研究它,每个页面的每个博客关于“如何做”都告诉你,你需要在家里按住屏幕,然后转到“壁纸和风格”并更改壁纸。但有一个问题。
我记得当 Android 12 处于 Beta 阶段时,它支持 Material You 颜色。但是(我假设)正式发布后,此支持已被删除,因为我找不到该选项。这是我在主屏幕上按住时的样子:
它显示“壁纸”,当我单击它时,它不会打开名为“壁纸和样式”的菜单,它只是重定向到“动态壁纸”。我在 Android 12 官方版本中找不到壁纸颜色选项。然而,它出现在即将推出的 API 32(我认为是 Android 13)模拟器上。
经过一番研究,我发现系统会在系统资源下生成壁纸颜色,system_accent1_600这些资源从 API 31 开始可用(更多信息请参见此处)。当我使用处于测试版的 API 32 模拟器时,这确实有效,但它默认为其他颜色(强调色上的蓝色阴影,中性色上的灰色阴影,又称背景色),我还没有弄清楚从哪里来在 API 31 官方模拟器上。
这是问题:
从 Android 12 (API 31) 开始是否正式支持Material You 颜色?如果是的话,为什么我在Android官方模拟器上找不到它?
另外,是否可以检测设备是否支持具有不同选项的Material You 颜色?
我想这就是您正在寻找的:
public static boolean isDynamicColorAvailable()
{
return VERSION.SDK_INT >= VERSION_CODES.S && DYNAMIC_COLOR_SUPPORTED_MANUFACTURERS.contains(Build.MANUFACTURER.toLowerCase());
}
Run Code Online (Sandbox Code Playgroud)
在com.google.android.material.color 的DynamicColors类中找到了这个
您可以简单地这样调用它:
boolean isdca = DynamicColors.isDynamicColorAvailable();
Run Code Online (Sandbox Code Playgroud)
我希望这能回答最后一部分。
| 归档时间: |
|
| 查看次数: |
1646 次 |
| 最近记录: |