public class MainActivity extends AppCompatActivity {
private MyView vw;
public class Vertex{
Vertex(float ax, float ay, boolean ad){
x = ax;
y = ay;
draw = ad;
}
float x;
float y;
boolean draw;
}
ArrayList<Vertex> arVertex;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
vw = new MyView(this);
setContentView(vw);
arVertex = new ArrayList<Vertex>();
}
protected class MyView extends View{
Paint mPaint;
public MyView(Context context){
super(context);
mPaint = new Paint();
mPaint.setColor(Color.BLACK);
mPaint.setStrokeWidth(3);
mPaint.setAntiAlias(true);
}
public void onDraw(Canvas canvas){
canvas.drawColor(Color.LTGRAY);
for (int i=1;i<arVertex.size();i++){
if (arVertex.get(i).draw){
canvas.drawLine(arVertex.get(i-1).x,arVertex.get(i-1).y,arVertex.get(i).x,arVertex.get(i).y,mPaint);
}
}
}
public boolean onTouchEvent(MotionEvent event){
if (event.getAction()==MotionEvent.ACTION_DOWN){
arVertex.add(new Vertex(event.getX(),event.getY(),true));
return true;
}
if(event.getAction()==MotionEvent.ACTION_MOVE){
arVertex.add(new Vertex(event.getX(),event.getY(),true));
invalidate();
return true;
}
return false;
}
}
}
'IT 통신 수학 과학 > 자바 안드로이드' 카테고리의 다른 글
컨텍스트 메뉴 (0) | 2020.09.06 |
---|---|
menu기능//item.setIcon(R.drawable.ic_launcher)오류 (0) | 2020.09.02 |
타이머 메시지 핸들러 (0) | 2020.08.29 |
버튼 리스너 구현 (0) | 2020.08.23 |
콜백메서드 재정의 / 리스너 인터페이스 구현 (0) | 2020.08.17 |
onRequestPermissionsResult error // READ_CONTACT_CODE error (0) | 2020.08.15 |
안드로이드 앱 권한 요청 (0) | 2020.08.02 |
google admob 시작하기 (0) | 2020.04.05 |