我想知道Paint比较是否有一个好的方法。

例如,考虑以下代码:

Paint paint1 = new Paint();
paint1.setColor(Color.BLUE);
Paint paint2 = new Paint(paint1);
Paint paint3 = new Paint(paint1);
paint3.setColor(Color.YELLOW);


在这种情况下,我想写一些代码说:


paint1paint2相同
paint1paint2paint3不同。


当然,您不能使用例如paint1 == paint2,因为这是两个不同的对象。另外,似乎paint1.equals(paint2)无法正常工作。

有办法吗?还是应该单独比较我认为重要的属性(例如颜色,alpha,strokeCap)?

最佳答案

查看Paint类实现here。检查构造函数Paint(Paint p)的功能,设置的属性。有一个隐藏的API方法hasEqualAttributes(Paint p)。也许您可以在应用程序中使用此方法代码。

关于android - 检查Paint对象在视觉上是否相同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52784777/

10-10 08:09