1. 直接上代码,首先新建一个activity,来初始化布局和view
private XfermodeView xmode_view; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xmode_view = (XfermodeView) findViewById(R.id.xmode_view); xmode_view.setActivity(this); xmode_view.clearCanvas(); xmode_view.setBitmap(); xmode_view.setOnTouchCutListener(new XfermodeView.TouchCutListener() { @Override public void onEvent(int event) { } @Override public void touchBackUrl(String filePath) { } @Override public void touchCutError(String error) { } }); findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (xmode_view.isPoint()) { xmode_view.setPoint(false); } else { xmode_view.setPoint(true); } } }); }**
2. 布局文件
<?xml version="1.0" encoding="utf-8"?> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="切换"/> <com.example.maibenben.rectdrawview.XfermodeView android:id="@+id/xmode_view" android:layout_width="match_parent" android:layout_height="match_parent"/>**
2.实现屏幕监听事件
public boolean onTouchEvent(MotionEvent event) {}3.实现onDraw()方法,每次绘制完之后都会执行onDraw方法。
@Override protected void onDraw(Canvas canvas) { //先画矩形的过程 canvas.drawRect(rect, mPaint); //画圆点 canvasPoint(canvas); for (RectString rect : rects) { //画矩形 ,成品 canvas.drawText("你还好吗", rect.getRect().centerX(), rect.getRect().centerY(), mTextPaint); canvas.drawRect(rect.getRect(), tPaint); } }4.另外 画的矩形和圆点 都是可以在绘制的范围内取消的。效果图如下: 4.1绘制圆点,点击圆点可以取消
4.2 绘制矩形,点击并取消 4.3可以随意切换绘制矩形和圆点
到这里就告一段落,有兴趣的或者正好需要这功能的可以留言,也可以下载demo共同讨论下。 项目地址 :
