The Beautiful Future
카메라 프리뷰에 문자와 선 넣기 & 터치 이벤트 본문
** MainActivity Class
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DrawOnTop mDraw = new DrawOnTop(this);
setContentView(R.layout.activity_camera_preview);
addContentView(mDraw, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
}
** DrawOnTop Class
class DrawOnTop extends View {
public Vertex pt2 = new Vertex( 300, 690, true, 0);
public DrawOnTop(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas)
{
// TODO Auto-generated method stub
Log.d("DrawOnTop", "onDraw");
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED); // 적색
paint.setStrokeWidth(10);
paint.setTextSize(100);// 크기 10
canvas.drawText("Test Text", 100, 100, paint); // 텍스트 표시
// w: 1920, h: 1080
//canvas.drawLine(0, 960, 0, 0, paint); // 라인그리기
int nCy = canvas.getHeight()/2;
int nCx = canvas.getWidth()/2;
canvas.drawLine(nCx, nCy, pt2.x, pt2.y, paint); // 라인그리기
super.onDraw(canvas);
}
public boolean onTouchEvent(MotionEvent event)
{
Log.d("DrawOnTop", "onTouchEvent");
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
pt2.x = event.getX();
pt2.y = event.getY();
invalidate();
return true;
}
if (event.getAction() == MotionEvent.ACTION_MOVE)
{
pt2.x = event.getX();
pt2.y = event.getY();
invalidate();//화면에 그림을 그림 -> onDraw()실행함.
return true;
}
return false;
}
//*/
}
'Android' 카테고리의 다른 글
ubuntu 16.04에 설치하기 (0) | 2017.06.14 |
---|---|
자이로센서 (0) | 2017.04.18 |
안드로이드 자동회전 방지 (0) | 2017.04.18 |
영상가로채기 (0) | 2017.04.18 |
폰연결 (0) | 2017.04.18 |
Comments