当我遇到以下情况时,我最近一直在玩Bitmaps和调色板:
utilDecodeResponse
深入了解源代码,我发现:
java.lang.IllegalArgumentException: background can not be translucent
at android.support.v7.graphics.ColorUtils.findMinimumAlpha(ColorUtils.java:90)
at android.support.v7.graphics.ColorUtils.getTextColorForBackground(ColorUtils.java:127)
at android.support.v7.graphics.Palette$Swatch.ensureTextColorsGenerated(Palette.java:621)
at android.support.v7.graphics.Palette$Swatch.getTitleTextColor(Palette.java:605)
我正在使用的图像是:
我认为问题与图像在某种程度上完全透明有关。我目前正在实现与throw子句private static int findMinimumAlpha(int foreground, int background, double minContrastRatio) {
if (Color.alpha(background) != 255) {
throw new IllegalArgumentException("background can not be translucent");
}
...
}
几乎相同的检查,但这只是感觉不对。
处理Palettes时是否有方法可以解决这个问题?我觉得好像这是一个常见的错误,我必须做错事,或者错过了一些关于此的指南。