import
android.content.Context;
import
android.content.DialogInterface;
import
android.graphics.Canvas;
import
android.graphics.Color;
import
android.graphics.Paint;
import
android.os.Bundle;
import
android.support.constraint.ConstraintLayout;
import
android.support.v7.app.AppCompatActivity;
import
android.util.Log;
import
android.view.MotionEvent;
import
android.view.View;
import
android.widget.Button;
import
android.widget.LinearLayout;
import
android.widget.Toast;
import
com.flask.colorpicker.ColorPickerView;
import
com.flask.colorpicker.OnColorSelectedListener;
import
com.flask.colorpicker.builder.ColorPickerClickListener;
import
com.flask.colorpicker.builder.ColorPickerDialogBuilder;
import
java.util.ArrayList;
public
class
MainActivity
extends
AppCompatActivity {
int
a=
0
;
class
Point{
float
x;
float
y;
boolean
check;
int
color;
public
Point(
float
x,
float
y,
boolean
check,
int
color)
{
this
.x = x;
this
.y = y;
this
.check = check;
this
.color = color;
}
}
class
MyView
extends
View
{
public
MyView(Context context) {
super
(context); }
@Override
protected
void
onDraw(Canvas canvas) {
Paint p =
new
Paint();
p.setStyle(Paint.Style.FILL_AND_STROKE);
p.setStrokeWidth(
30
);
p.setAntiAlias(
true
);
for
(
int
i=
1
; i<points.size() ; i++)
{
p.setColor(points.get(i).color);
if
(!points.get(i).check)
continue
;
canvas.drawLine(points.get(i-
1
).x,points.get(i-
1
).y,points.get(i).x,points.get(i).y,p);
}
}
@Override
public
boolean
onTouchEvent(MotionEvent event) {
float
x = event.getX();
float
y = event.getY();
switch
(event.getAction())
{
case
MotionEvent.ACTION_DOWN:
Log.d(String.valueOf(x)+String.valueOf(y),
"x,y의 좌표의값 "
);
points.add(
new
Point(x+
1
,y+
1
,
false
, color));
case
MotionEvent.ACTION_MOVE :
Log.d(String.valueOf(x)+String.valueOf(y),
"x,y의 좌표의값 "
);
points.add(
new
Point(x,y,
true
, color));
break
;
case
MotionEvent.ACTION_UP :
break
;
}
invalidate();
return
true
;
}
}
ArrayList<Point> points =
new
ArrayList<Point>();
Button draw_red_btn,draw_blue_btn,draw_black_btn,clearbtn;
LinearLayout drawlinear;
int
color = Color.BLACK;
ConstraintLayout draw_linearo;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final
MyView m =
new
MyView(
this
);
findViewById(R.id.draw_red_btn).setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
color = Color.RED ;
for
(
int
i =
0
; i < points.size(); i++) {
Log.d(String.valueOf(points.get(i).x),
"포인트의 값"
);
}
}
});
draw_linearo = findViewById(R.id.draw_linearo);
drawlinear = findViewById(R.id.draw_linear);
draw_linearo.addView(m);
}
}