calculateStatusColor() 算法问题

Author: 374901588Created Jun 7, 2020Updated Jun 7, 2020

private static int calculateStatusColor(@ColorInt int color, int alpha) 这个方法的算法会不会有问题? 比如我直接在 colors.xml 资源文件中定义带有透明度的值,然后通过 resource.getColor() 获取到的值,与通过 calculateStatusColor() 方法获取到的值不一样。

比如我定义了 <color name="color40">#66FF900</color> <color name="color60">#99FF900</color> <color name="color_original">#FF900</color> 通过 resource.getColor() 获取 R.color.color40 和 R.color.color60,然后分别与 calculateStatusColor(resource.getColor(R.color.color_original), 102) 和 calculateStatusColor(resource.getColor(R.color.color_original), 153) 去比较,发现对应不上。 (PS: 25540%=102, 25560%=153)