Custom Widget 자신이 새로 만들고자 하는 주요 동작에 따라 부모 클래스를 정한다.
>> 화면을 터치하면 주어진 색으로 그림을 그리는 Widget class 를 생성한다.
레이아웃에 추가해서 사용해 본다.
레이아웃에 그 위젯을 올릴 수 있어야 편하다. new 가 아니고..
그냥 new 해버리면 더 복잡하니까 xml 로 가져오는 것이 제일 편한 것..!
그 것을 위해 지금 열심히 작업을 할 예정이다.
색상 지정할 수 있는 기능..
Canvas & Paint : java에서 drawing 하는 기술 ..
Canvas: 그림판, 그림을 그릴 대상, width, height
Paint: 붓이라고 생각! 색, 선, 굵기 등의 내용을 가지고 있다.
onDraw() :
위젯을 새로 그려야 할 시점에 호출된다.
파라미터로 Canvas가 전달되며 여기에 그림을 그리면 화면에 출력된다.
1.
2. 가로 세로 전환했을 떄 자동으로 전환된다. touch 이벤트가 발생할 때 마다 새로 그려줘야 한다.
> 절대 직접 onDraw를 부르면 안됨!
invalidate() :
onDraw()를 부르기 위한 method. 개발자가 정한 시점에 화면을 갱신해야 할 경우, invalidate()를 호출한다.
필요한 정보들이 준비된 다음, onDraw() 가 호출된다.
1. canvas
2. paint
3. invalidate()
// java로 그리는 플랫폼에서 이 개념을 쓴다. 잘 알아두길..
전체 화면 사이즈의 DrawingView
라디오 버튼을 클릭하면 색깔을 바꿀 수 있도록...
저장 기능 까지 짜 보자
ImageView가 비트맵으로 현재 이미지를 캡쳐해서 저장하도록 하면 됨.
파일경로를 줘서 저장할 수 있도록 하면 된다!
Homepage
Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital experiences.
material.io
drawable 폴더에서 new Vector asset. 해서 이미지를 가져온다.
SVG 파일 땡겨오기
drawable> new Vector asset > local directory(?)
SDK 버전이 낮다면?
drawable 폴더 안의 xml 파일을 3개 만들어서
fill 안에 있는 그림파일을 3개 만들어서 blue 에는 blue, red에는 red, black에는 black을 넣어주면 된다.
firebase , ...
cordova는 아직..
'2학년 > 안드로이드' 카테고리의 다른 글
0610_android (0) | 2019.06.10 |
---|---|
Firebase Cloud Messaging (0) | 2019.05.30 |
0527 android (0) | 2019.05.27 |
0523 android (0) | 2019.05.23 |
anroid RecyclerView 참고 (0) | 2019.05.16 |