从主机更新背景可绘制后,为文本设置对比色

让我清楚地说明一下:我创建了一个用于播放音乐的片段。 我模糊了专辑的作品并将其设置为片段的背景。 我需要在片段上显示音乐名称和艺术家名称。 有时更新的艺术作品背景与文本颜色相近(如同它们都是黑色的)。 在这种情况下,我想将文本颜色更改为另一种对比颜色,以使文本清晰。 设置墙纸时,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

下一篇: How to group CSS colors