我试图实现这一点,但我只能实现填充对象(形状)。 我的要求是改变文字颜色和形状填充。
形状可以填充百分比,直到
10%至50%=绿色
51%至80%=黄色
81%至100%=红色
当黄色填充" :"的背景时在形状上,它会将颜色改变为" 白色"以前是" 黄色"。这种形状的大小也是动态的。
我尝试过并实现了什么?
我可以用百分比填充形状,但在到达文本边缘时无法更改颜色。
答案 0 :(得分:6)
我写了一个自定义视图。您可以使用Path API获得此双色效果。但是对于Android 1+兼容性,你应该使用Region API和上面的Kitkat(19+),你只能使用Path API。
让我们逐步了解如何实现这一效果的概念:
如果您使用的是API 19+,那么这就是关键代码段的样子:
croppedProgressPath.op(progressPath, textPath, Path.Op.DIFFERENCE);
croppedProgressPath.op(progressStrokePath, Path.Op.INTERSECT);
————————————
croppedTextPath.op(textPath, progressPath, Path.Op.DIFFERENCE);
我为Github上的这个项目写了一个名为Diffre的概念证明。如果您想先测试一下,所有代码都在this repo。