gpt4 book ai didi

android - 全屏对话框关闭黑色图标

转载 作者:搜寻专家 更新时间:2023-11-01 08:40:42 25 4
gpt4 key购买 nike

此问题是 Android Fullscreen dialog confirmation and dismissive actions 的后续问题它使用如下图所示的深色主题,因此图标显示为白色。

enter image description here


我想以黑色显示“X”图标,因为我使用的是浅色主题。

另一个问题有一个可接受的解决方案,用于更改看起来像这样的 ActionBar 图标:

getSupportActionBar().setHomeAsUpIndicator(android.R.drawable.ic_menu_close_clear_cancel);

尽管我使用的是浅色主题,但显示的是白色 X。


我似乎记得有一种方法可以使用提供的图标,并将其主题设置为在浅色背景上以黑色显示...?

最佳答案

support-v4 库中内置了以这种方式为股票图标着色的方法,Chris Banes 在他的博客中对此进行了描述:

The Drawable tinting methods added in Lollipop are super useful for letting you dynamically tint assets. AppCompat had its own baked in implementation in the v21 support library and we’ve now extracted that into DrawableCompat in support-v4 for everyone to use.

Drawable drawable = ...;

// Wrap the drawable so that future tinting calls work
// on pre-v21 devices. Always use the returned drawable.
drawable = DrawableCompat.wrap(drawable);

// We can now set a tint
DrawableCompat.setTint(drawable, Color.RED);
// ...or a tint list
DrawableCompat.setTintList(drawable, myColorStateList);
// ...and a different tint mode
DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_OVER);

这使我的确切代码非常简单:

// set X close icon in black
Drawable drawable = getResources()
.getDrawable(R.drawable.abc_ic_clear_mtrl_alpha);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, Color.BLACK);
getSupportActionBar().setHomeAsUpIndicator(drawable);

相关问题:

关于android - 全屏对话框关闭黑色图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32868442/

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