13
Custom Widget 1 UNIT 26 로로 SW 로로로 로로로 로로로

Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

Embed Size (px)

Citation preview

Page 1: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

Custom Widget 1UNIT

26

로봇 SW 콘텐츠 교육원조용수

Page 2: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

2캔버스

• public void drawColor(int color)

public class ControllerView extends View{ public ControllerView(Context context) { super(context); }

@Override protected void onDraw(Canvas canvas) { canvas.drawColor(Color.BLUE); }}

public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new ControllerView(this)); }}

Page 3: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

3캔버스

• public void drawColor(int color)

public class ControllerView extends View{ public ControllerView(Context context) { super(context); }

@Override protected void onDraw(Canvas canvas) { canvas.drawColor(0xffff0000); }}

Page 4: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

4캔버스

• public void drawRGB (int r, int g, int b)

public class ControllerView extends View{ public ControllerView(Context context) { super(context); }

@Override protected void onDraw(Canvas canvas) { canvas.drawRGB(255, 255, 0); }}

Page 5: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

5캔버스

• public void drawARGB (int a, int r, int g, int b)

public class ControllerView extends View{ public ControllerView(Context context) { super(context); }

@Override protected void onDraw(Canvas canvas) { canvas.drawARGB(100, 255, 255, 0); }}

Page 6: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

6캔버스• public void drawPaint (Paint paint)• Paint

– public void setARGB (int a, int r, int g, int b)– public void setAlpha (int a)– public void setAntiAlias (boolean aa)– public void setColor (int color)– public void setTextSize (float textSize)

public class ControllerView extends View{ private final Paint paint = new Paint();

public ControllerView(Context context) { super(context); }

@Override protected void onDraw(Canvas canvas) { paint.setARGB(100, 255, 255, 0); canvas.drawPaint(paint); }}

Page 7: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

7캔버스

• public void drawLine (float startX, float startY, float stopX, float stopY, Paint paint)

public class ControllerView extends View{ private final Paint paint = new Paint();

public ControllerView(Context context) { super(context); }

@Override protected void onDraw(Canvas canvas) { paint.setColor(Color.RED); canvas.drawLine(50, 50, 300, 300, paint); }}

Page 8: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

8캔버스

• public void drawCircle (float cx, float cy, float ra-dius, Paint paint)

public class ControllerView extends View{ private final Paint paint = new Paint();

public ControllerView(Context context) { super(context); }

@Override protected void onDraw(Canvas canvas) { paint.setColor(Color.RED); canvas.drawCircle(200, 200, 100, paint); }}

Page 9: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

9캔버스

• public void drawRect (float left, float top, float right, float bottom, Paint paint)

public class ControllerView extends View{ private final Paint paint = new Paint();

public ControllerView(Context context) { super(context); }

@Override protected void onDraw(Canvas canvas) { paint.setColor(Color.RED); canvas.drawRect(50, 50, 300, 300, paint); }}

Page 10: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

10캔버스

• public void drawRoundRect (RectF rect, float rx, float ry, Paint paint)

public class ControllerView extends View{ private final Paint paint = new Paint();

public ControllerView(Context context) { super(context); }

@Override protected void onDraw(Canvas canvas) { paint.setColor(Color.RED); canvas.drawRoundRect(new RectF(50, 50, 300, 300), 10, 10, paint); }}

Page 11: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

11캔버스

• public void drawText (String text, float x, float y, Paint paint)

public class ControllerView extends View{ private final Paint paint = new Paint();

public ControllerView(Context context) { super(context); }

@Override protected void onDraw(Canvas canvas) { paint.setColor(Color.RED); paint.setTextSize(50); canvas.drawText(" 테스트 ", 100, 100, paint); }}

Page 12: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

12캔버스

• public void drawPath(Path path, Paint paint)public class ControllerView extends View{ private final Paint paint = new Paint(); private final Path path = new Path(); private float oldX, oldY; private static final float TOUCH_TOLERANCE = 4;

public ControllerView(Context context) { super(context); paint.setStyle(Paint.Style.STROKE); paint.setStrokeWidth(12); }

@Override protected void onDraw(Canvas canvas) { canvas.drawColor(Color.WHITE); canvas.drawPath(path, paint); }

Page 13: Custom Widget 1 UNIT 26 로봇 SW 콘텐츠 교육원 조용수. 캔버스 public void drawColor(int color) 2 public class ControllerView extends View { public ControllerView(Context

13캔버스

@Override public boolean onTouchEvent(MotionEvent event) { float x = event.getX(); float y = event.getY(); switch(event.getAction()) { case MotionEvent.ACTION_DOWN: { path.reset(); path.moveTo(x, y); oldX = x; oldY = y; invalidate(); } break; case MotionEvent.ACTION_UP: { path.lineTo(x, y); invalidate(); } break; case MotionEvent.ACTION_MOVE: { float dx = Math.abs(x - oldX); float dy = Math.abs(y - oldY); if(dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) { path.lineTo(x, y); oldX = x; oldY = y; } invalidate(); } break; } return true; }}