Open pansong291 opened 1 week ago
@kkevsekk1
原因是 Android O 及之后,Paint
类的 setColor
方法被重载了,有两个签名:
public void setColor(int i);
public void setColor(long l);
Rhino 无法判断应该调用哪一个。这是 Rhino 无法解决的一个痛点,目前的解决办法: https://github.com/kkevsekk1/AutoX/issues/1180#issuecomment-2339471235
看起来似乎是优先调用了 setColor(long)
才报的错。
那么可能的解决方案:
try {
paint.setColor(colors.pack(colors.parseColor("#ff0ff0ff")));
} catch(e) {
paint.setColor(colors.parseColor("#ff0ff0ff"));
}
其中 colors.pack
详见 https://developer.android.google.cn/reference/android/graphics/Color#pack(int)
代码如下:
然后我把设置颜色那里的代码改成了这样的字符串:
得到如下报错: