我输入了一个使用Canvas的程序.
它提供了一个弹出菜单,提供3个绘图工具作为选项:
划伤屏幕时画线
根据屏幕上的起点和终点绘制线条
画一个圆圈
此外,还有以下选项:
明确
解开
在线上执行撤消时,根本不存在任何问题,因为两者都基于路径.(用途List<Path>).但是这里开始出现问题.使用Point对象绘制圆.所以问题是:
我希望我很清楚.[Downvoters,如果被吸引,被要求输入原因,以指导这个初学者,一个通常的downvotes受害者,不知道改进的确切原因].
下面分享的代码(很复杂).我尝试将一个类专门用于每个绘图工具(直线,圆) - 它工作 - 除了 - 它没有在画布上绘制任何东西.所以,所有人都回来了.
码:
package com.example.orbit_.undofortouch;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Point;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.PopupMenu;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends Activity {
Button b1, b2, b3;
PopupMenu …Run Code Online (Sandbox Code Playgroud)