从主机更新背景可绘制后,为文本设置对比色
让我清楚地说明一下:我创建了一个用于播放音乐的片段。 我模糊了专辑的作品并将其设置为片段的背景。 我需要在片段上显示音乐名称和艺术家名称。 有时更新的艺术作品背景与文本颜色相近(如同它们都是黑色的)。 在这种情况下,我想将文本颜色更改为另一种对比颜色,以使文本清晰。 设置墙纸时,ios具有类似的功能。
有谁知道如何实现这一目标?
使用调色板:https://guides.codepath.com/android/Dynamic-Color-using-Palettes
Palette.from(bitmap).maximumColorCount(16).generate(new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(Palette palette) {
// Get the "vibrant" color swatch based on the bitmap
Palette.Swatch vibrant = palette.getVibrantSwatch();
if (vibrant != null) {
// Set the background color of a layout based on the vibrant color
containerView.setBackgroundColor(vibrant.getRgb());
// Update the title TextView with the proper text color
titleView.setTextColor(vibrant.getTitleTextColor());
}
}
});
这是使用它的一个例子。 乱搞一下抓住不同的色板,看看什么效果最好。
如果您需要黑色或白色主题文字,请通过确定基于背景颜色的字体颜色
或以其他方式使用调色板的颜色https://guides.codepath.com/android/Dynamic-Color-using-Palettes
链接地址: http://www.djcxy.com/p/87043.html上一篇: After updating background drawable from host, set a contrast color for text