안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요
1달정도 혼자서 독학으로 안드로이드 배우고 있는 학생입니다. 다름이 아니고 제가 시간표를 만드려고 하는데요
그리드뷰를 이용해서 해당 뷰에 색칠을 하려고 하는데
view.setbacgroundcolor(color.blue);
이렇게 해버리면 글씨는 제대로 들어가도 색칠은 엉뚱한곳에 칠해지더라고요;;
그래서 캔버스를 이용하려고 하는데
캔버스는 여러 책을 뒤져봤는데 모두..;;
setContentView(new MyView(this));
메인.xml을 안쓰더라구여;;
저렇게 해서 만들려고하니 그리드뷰도 어떻게 넣어야할지 잘 모르겠어서 질문드립니다.
질문이 조금 이해어려울것 같기도 한데요..
그러니까 사각형을 그려주고 싶은데 그릴 방법이 없는지.. 알려주시면 감사하겠습니다.ㅠㅠ
꼭 캔버스가 아니더라도요..




main.xml에 그리드뷰를 넣으면되죠.
메인에 그려주고 setcontentview(R.layout.main)해주심되죠ㅎㅎ
그리드뷰를 쓰고싶은데 canvas를 쓰고싶다는말이 무슨말인지 모르겠는데.
canvas로 그리기를 원하는거라면 클래스 하나 새로만드시고 거기다 onDraw를 오버라이드 해서 canvas를 그리시면 됩니다.
새 글래스를 직접 셋팅할려면 위에 쓴것처럼 setContentView(new 클래스명(context)); 해주시면 되구요.
main.xml안에다가 canvas쓰고싶으시면 마찬가지로 새 클래스만드시고 onDraw로 그리기 해주신담에 main.xml의 소스에 <패키지명.클래스명 해서 일반 view xml 속성처럼 넣으면 됩니다.
예로 패키지명이 test.drawing이고 클래스명이 DrawingTest라면 main.xml에
<test.drawing.DrawingTest
width = wrap_content
height = wrap_content
id = xxx
/> 이런식으로해주심 main에서 알아서불러옵니다.