如何为单个 NavigationView MenuItem 图标着色?

问题描述 投票:0回答:1
android navigationview
1个回答
0
投票

这很可能发生,因为可绘制对象上的色调值被 NavigationView 覆盖。

一种可能的方法是忽略来自 NavigationView 对特定图标的着色调用。您可以创建自己的 Drawable 包装类以与特定图标一起使用。

想法大纲:在 android DrawableWrapper 之上创建您自己的可绘制包装器,并返回您自己的色调颜色,无论 NavigationView 在可绘制上设置什么。

class MyDrawableWrapper extends DrawableWrapper {
    @Override
    public void setTint(int tint) {
        setTintList(ColorStateList.valueOf(tintColor));
    }

    public void setTintList(@Nullable ColorStateList tint) {
        // Apply your own tint here
        super.setTintList(yourOwnTintList/* <-- */);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.