作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两种颜料,并将它们的颜色设置为不同的颜色。问题是第二个绘制覆盖了第一个绘制。
这是我的代码:
public class Score {
static Globals g = Globals.getInstance();
private Rect bounds = new Rect();
private Paint paintBG = new Paint();
private Paint paintFG = new Paint();
private int mid;
public Score(Paint paint) {
this.paintBG = paint;
this.paintFG = paint;
// PROBLEME
paintBG.setColor(Color.GRAY);
paintFG.setColor(Color.WHITE); // <-- this paint overrides the paint before
}
public void draw(Canvas canvas) {
String score = String.valueOf(g.getScore());
paintFG.getTextBounds(score, 0, score.length(), bounds);
mid = (canvas.getWidth() / 2) - (bounds.width() / 2);
// different "paints" but the same color
canvas.drawText(score, mid, 60, paintBG);
canvas.drawText(score, mid, 50, paintFG);
}
}
来自德国的最诚挚的问候。 :)
最佳答案
amahfouz 已经解释了这个问题。解决该问题的一种方法是使用 Paint
的复制构造函数。
public Score(Paint paint) {
paintBG = new Paint(paint);
paintFG = new Paint(paint);
paintBG.setColor(Color.GRAY);
paintFG.setColor(Color.WHITE);
}
关于java - 第二个油漆覆盖第一个油漆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29240211/
我需要一个在 Windows-Mobile 上运行的获取签名示例。 (油漆) 如何在 Windows-Mobile 屏幕上绘图 - 并保存图片? 我可以获得示例代码 (C#) 吗? 最佳答案 Open
我是一名优秀的程序员,十分优秀!