안녕하세요. 초보 개발자입니다.ㅠ
제가 지금 막힌 부분이 있는데요.ㅠ 고수님들의 답변을 듣고자 이렇게 글을 남기게 되었습니다.
canvas를 이용해서 그림을 그릴 때 보통 onDraw라는 override된 메소드를 쓰잖아요.
이 onDraw말고 아무것도 상속받지 않은 클래스의 메소드에서 그림을 그릴 수있게 구현이 가능할까요?
아무것도 상속받지 않은 클래스에서 메소드명을 하나 만들고 Canvas 객체를 만들어서 그려봤지만
화면에 아무것도 뿌려지지 않더라고요.ㅠ
public class LyricView
{
Canvas canvas;
public void DrawOneLineLyric()
{
canvas = new Canvas();
Bitmap bitmap = Bitmap.createBitmap(1280,250,Bitmap.Config.ARGB_8888);
Canvas exerCanvas = new Canvas(bitmap);
Paint pnt = new Paint(Paint.FAKE_BOLD_TEXT_FLAG);
pnt.setStyle(Style.FILL);
pnt.setColor(Color.WHITE);
exerCanvas.drawText("하하하", 0, 73, pnt);
canvas.drawBitmap(bitmap, 0, 0, pnt);
}
}
이게 짧막하게 짠 코드인데요. 아무 상속받지 않은 클래스에서
어떻게 그림을 그리게 하는 메소드를 만들 수 있을까요.?
하나 더 질문이 있는데요.
만약 위에서 그려 줄 뷰가 없어서 상속을 받아야해서 받았다면
일반 activitiy에서 LyricView lyricView = new LyricView(context);
이런식으로 초기화를 해줘야 객체를 사용 할 수 있잖아요.
저 context에 들어갈 값을 어떻게 줘야 할까요.
확답이 아니더라도 먼가 알려주실께 있으면 답변 부탁드립니다.ㅠ