画板中支持 画笔类型,橡皮擦,颜色,撤销与反撤销,以及添加图片等功能
效果如下:
使用方法:
第一步
maven { url 'https://jitpack.io' }
第二步
implementation 'com.gitee.zdcUser:DrawingBoard:1.0.0'
使用步骤:
由于本例子比较简单,所以就没有打包成一个库,仅提供demo,供需要的自行添加或修改完善,实现自己的需求
- 1 在布局文件中添加引用
<com.zdc.broad.Drawing
android:id="@+id/paintView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
- 2 在Activity中进行初始化,并添加撤销与反撤销的回调
paintView=findViewById(R.id.paintView);
paintView.setCallBack(new PaintViewCallBack() {
@Override
public void onHasDraw() {
}
@Override
public void onTouchDown() {
}
});
paintView.add();
- 3 功能的实现
@Override
public void onClick(View v) {
int id=v.getId();
switch (id){
case R.id.ib_pencil:
// 设置为铅笔
selectPenType(PENCIL);
break;
case R.id.ib_pen:
//设置为钢笔
selectPenType(PEN);
break;
case R.id.ib_rudder:
//选择橡皮后进行擦除
selectRudder();
break;
case R.id.ib_color:
selectColors();
break;
case R.id.ib_left:
revokeLeft();
break;
case R.id.ib_right:
revokeRight();
break;
case R.id.ib_clear:
clear();
break;
}
}
private void selectPenType(int penType){
paintView.setPenSize(penType);
paintView.setPenType(PaintConstants.PEN_TYPE.PLAIN_PEN);
}
private void selectRudder(){
paintView.setPenType(PaintConstants.PEN_TYPE.ERASER);
}
private void selectColors(){
colorPickerDialog=new ColorPickerDialog(this, new ColorPickerDialog.OnColorChangedListener() {
@Override
public void colorChanged(int color) {
paintView.setPenColor(color);
}
}, Color.BLACK);
colorPickerDialog.show();
}
private void revokeLeft(){
paintView.undo();
}
private void revokeRight(){
paintView.redo();
}
private void clear(){
if (paintView.canRedo()||paintView.canUndo()){
paintView.clearAll(true);
paintView.onHasDraw();
}
}
简单的使用过程如上,如有不了解可以自己下载demo查看源码。