드디어 부트 캠프가 시작했습니다. 처음엔 모르는 사람들이랑 같이 프로젝트를 한다는 마음에 긴장 반, 설렘 반이었지만 그래도 다들 열심히 하시는 모습에 저도 질 수 없어, 열심히 했습니다.
저희가 하는 프로젝트는 자기 소개 프로젝트인데요. 여기에 라디오 버튼을 추가해, 마음에 들었던 사람을 투표하는 기능 구현을 위한 UI를 Material Design을 이용해 만들었습니다.
<RadioGroup
...
>
<RadioButton
...
android:text="~~~"/>
<RadioGroup/>
위처럼 라디오 그룹 안에 라디오 버튼을 여러 개 구현하게 되면, 이 그룹 내에서는
단 하나의 라디오 버튼만 선택 가능하게 만들 수 있습니다.
XML 파일
<ImageView
...
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
/>
Kotlin 파일
val bitmap: Bitmap = Bitmap.createBitmap(800, 800, Bitmap.Config.ARGB_8888)
val canvas = Canvas(bitmap)
canvas.drawColor(Color.WHITE)
imageView.setImageBitmap(bitmap)
val paint = Paint()
paint.setColor(Color.BLACK)
val rectF = RectF()
rectF.set(160f, 80f, 400f ,800f)
canvas.drawRect(rectF, paint)
val bitmap: Bitmap = Bitmap.createBitmap(800, 800, Bitmap.Config.ARGB_8888)
먼저, Bitmap을 800 x 800 사이즈로, ARGB_8888 형식으로 설정해줍니다. 여기서 ARGB_8888은 Alpha(투명), Red, Green, Blue 각 색의 비트 수를 의미합니다. 즉, 4바이트 픽셀입니다.
val canvas = Canvas(bitmap)
canvas.drawColor(Color.WHITE)
imageView.setImageBitmap(bitmap)
이후, Canvas에 비트맵으로 설정하고, 배경 색깔을 흰색으로 설정합니다.
그리고 이미지뷰에도 똑같이 비트맵을 설정해줍니다.
그 다음으론, 그래프를 표현해줘야 하는데, 여기서는 공부용이라 하나의 그래프만 가져왔습니다.
val paint = Paint()
paint.setColor(Color.BLACK)
먼저 색칠 도구로 쓸 paint를 검정색으로 설정해줍니다.
val rectF = RectF()
rectF.set(160f, 80f, 400f ,800f)
그 후에, RectF를 이용할 건데요. RectF는 Float값의 좌표를 받아 사각형을 만들 수 있습니다.
위는, (160, 80), (160, 800), (400, 80), (400, 800) 네 점을 꼭짓점으로 만든다고 생각하면 될 것 같습니다.
canvas.drawRect(rectF, paint)
그 후, 캔버스에 사각형을 해당 꼭짓점들과 페인트 도구를 이용해 만들어줍니다.
그러면, 800x800 도화지 위에, 검정색 사각형이 만들어집니다.
끝.
참고 자료