终点marker 调整终点marker的添加和清除逻辑
This commit is contained in:
@@ -83,6 +83,57 @@ public class ColorUtils {
|
||||
return gradientColorArr;
|
||||
}
|
||||
|
||||
/**
|
||||
* 对传入颜色生成梯度透明的颜色集合
|
||||
*
|
||||
* @param startColor 开始颜色
|
||||
* @param startColor 结束颜色
|
||||
* @param step 步长
|
||||
* @return 生成的梯度颜色集合
|
||||
*/
|
||||
public static List<Integer> gradientAlpha_(String startColor, String centerColor, String endColor, int step) {
|
||||
|
||||
// 生成渐变色
|
||||
List<Integer> gradientColorArr = new ArrayList<>();
|
||||
// 将HEX转为RGB
|
||||
int[] sColor = hexToArgb(startColor);
|
||||
int[] cColor = hexToArgb(centerColor);
|
||||
int[] eColor = hexToArgb(endColor);
|
||||
if (step >= 3) {
|
||||
int colorStep = (int) Math.floor(step/2);
|
||||
// 计算每一步的差值
|
||||
int aStep = (cColor[0] - sColor[0]) / colorStep;
|
||||
int rStep = (cColor[1] - sColor[1]) / colorStep;
|
||||
int gStep = (cColor[2] - sColor[2]) / colorStep;
|
||||
int bStep = (cColor[3] - sColor[3]) / colorStep;
|
||||
|
||||
|
||||
for (int i = 0; i < colorStep; i++) {
|
||||
gradientColorArr.add(
|
||||
Color.argb(aStep * i + sColor[0],
|
||||
rStep * i + sColor[1],
|
||||
gStep * i + sColor[2],
|
||||
bStep * i + sColor[3]));
|
||||
}
|
||||
int aStep_ = (eColor[0] - cColor[0]) / colorStep;
|
||||
int rStep_ = (eColor[1] - cColor[1]) / colorStep;
|
||||
int gStep_ = (eColor[2] - cColor[2]) / colorStep;
|
||||
int bStep_ = (eColor[3] - cColor[3]) / colorStep;
|
||||
|
||||
for (int i = 0; i < colorStep; i++) {
|
||||
gradientColorArr.add(
|
||||
Color.argb(aStep_ * i + cColor[0],
|
||||
rStep_ * i + cColor[1],
|
||||
gStep_ * i + cColor[2],
|
||||
bStep_ * i + cColor[3]));
|
||||
}
|
||||
|
||||
} else {
|
||||
gradientColorArr.add(Color.argb(cColor[0], cColor[1], cColor[2], cColor[3]));
|
||||
}
|
||||
return gradientColorArr;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取一组渐变色数组
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user