- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Canvas 上正确绘图并将其保存为位图。但是,我想通过单击按钮将 Canvas 重置为白色。
这是我的代码:
public class Canvas extends View {
Paint paint;
Path path;
boolean cc = false;
public Canvas(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
paint = new Paint();
path = new Path();
paint.setAntiAlias(true);
paint.setColor(Color.RED);
paint.setStrokeJoin(Paint.Join.ROUND);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(5f);
}
@Override
protected void onDraw(android.graphics.Canvas canvas) {
super.onDraw(canvas);
if (!cc) {
canvas.drawPath(path, paint);
}
else {
canvas.drawColor(Color.WHITE);
cc = false;
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float xPos = event.getX();
float yPos = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
path.moveTo(xPos, yPos);
return true;
case MotionEvent.ACTION_MOVE:
path.lineTo(xPos, yPos);
break;
case MotionEvent.ACTION_UP:
break;
default:
return false;
}
invalidate();
return true;
}
public void clear() {
cc = true;
invalidate();
}
我的clear()函数将cc设置为“true”,然后invalidate()调用onDraw()函数。但似乎“cc”在 onDraw() 内部未被识别,或者它内部始终具有相同的值。我尝试了 path.reset() 但没有结果。
调用clear()不会返回任何错误。
最佳答案
似乎您希望在调用 clear()
方法时也清除 path
,所以这样做,然后使用 路径
为空以清除 Canvas 。
public void clear() {
path.reset();
invalidate();
}
@Override
protected void onDraw(android.graphics.Canvas canvas) {
super.onDraw(canvas);
if (path.isEmpty()) {
canvas.drawColor(Color.WHITE);
} else {
canvas.drawPath(path, paint);
}
}
这完全消除了 cc
字段。
关于java - 画完 Canvas 后如何使 Canvas 变白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60802532/
我正在使用 RecyclerView 到 ViewPager 共享元素转换。问题是,当 viewpager 被分页到另一个图像时,在返回到 recyclerview 后,首先被动画化的 imagevi
我正在使用 WKWebView 在我的应用程序中显示谷歌地图。这是网址:http://ec2-54-198-148-171.compute-1.amazonaws.com/map_question.h
因此,在工作中,我正在为某人编写 Excel 中的宏/用户表单。它工作得很好(我认为),并且完全完成了它需要做的事情,并且运行时间不到 1 分钟,遍历了大约 70k 个单元并组织它们。现在我想知道是否
我有一个嵌入到 UITableViewCell 中的 MKMapView。有时,该部分会重新加载。问题是当刷新发生时, map 单元决定突然变白。 这是基本代码 - (void)viewDidLoad
我想让我的 android 屏幕暂时“闪烁”白色(仅一次)。它需要足够长,以便用户能够分辨出屏幕确实变白了。 用户将登陆一个屏幕,该屏幕将在 5 秒后闪烁白色,然后再次显示原始屏幕(可能从白色逐渐消失
在 ICS 上(据我所知),当我在 web View 中打开一个单选元素或另一个对话框元素时,一旦该元素关闭,我就会得到一个白屏,单选框除外。元素仍然可以在 webview 中点击,一旦点击,它们就会
我正在 Canvas 上正确绘图并将其保存为位图。但是,我想通过单击按钮将 Canvas 重置为白色。 这是我的代码: public class Canvas extends View { P
我有一款游戏最初是在 XCode 中使用 cocos2d v2.x 编写的(未使用其他实用程序)。 我一直在将其移植到 Spritebuilder 项目,并因此移植到 cocos2d V3.x。我遇到
在 Tint Sprite White 使用简单着色器示例代码位于 Sprite Effects Sample ,我已将着色器的 .fx 文件加载到示例项目中,并替换了其中一个 Draw() 调用中的
我是一名优秀的程序员,十分优秀!