android - 检查 Paint 对象在视觉上是否相同

标签 android equals paint

我想知道是否有一个比较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/

相关文章:

Android AsyncTask - 避免多个实例运行

java - android 在使用外部 java lib 时获取 java lang 验证错误

Java链表.contains方法

javascript - JS : Entering a TRUE value into a prompt box and having it alert its variable

java - 为什么在绘制图像后 jcombobox 仅在选择其项目 2 次后才响应?

java - 如何以排序的方式检索文档的值?

Android BroadCastReceiver 和 android.intent.action.PHONE_STATE 事件

java - 不一致的哈希码和等于 java

java - 清除先前在图像上绘制的字符串

android - 如何在java canvas中启用android抗锯齿功能?