gpt4 book ai didi

android - Primary Dark 颜色渐变

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:35:34 29 4
gpt4 key购买 nike

我最近想让我的状态栏颜色渐变。我知道 WindowManager 方式是如何工作的。但我决定另辟蹊径,用渐变色为状态栏上色。

所以我这样做了,

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">@drawable/gradient</color>
<color name="colorAccent">#FF4081</color>
</resources>

@drawable/渐变

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:angle="135" android:startColor="#f56f2c" android:endColor="#fa9f46"/>
</shape>

@drawable/gradient 是我设置的渐变颜色。虽然 IDE 说这不是正确的做法,但它确实有效。

我的问题:这样做是否正确?有没有人有这样的经历?

最佳答案

这将从 Android N (API 25) 开始中断并出现以下错误:

android.content.res.Resources$NotFoundException: Can't find ColorStateList from drawable resource ID...

这与 SO issue 的错误几乎相同,正如答案所指出的那样,error/crash is intentional .我想原因是因为 Android 大神们现在很严格,不允许你为 @color 资源使用颜色以外的东西。所以,这绝对不是“正确的方式”。

解决方法是使用自定义工具栏,您可以在其中使用可绘制渐变作为背景。

我试过this other solution on SO ,它声称适用于 API 24+,但遗憾的是它在 API 25 和 26 中失效。它看起来确实像 Android 应该简单地使用但实际上没有..

关于android - Primary Dark 颜色渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41482096/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com