[24.05.27] 내배캠 Android App Track - 001

오늘의 공부

0. 내일 배움 캠프 시작

드디어 부트 캠프가 시작했습니다. 처음엔 모르는 사람들이랑 같이 프로젝트를 한다는 마음에 긴장 반, 설렘 반이었지만 그래도 다들 열심히 하시는 모습에 저도 질 수 없어, 열심히 했습니다.

1. 안드로이드 스튜디오 프로젝트

1-1. Radio Group과 Radio Button

저희가 하는 프로젝트는 자기 소개 프로젝트인데요. 여기에 라디오 버튼을 추가해, 마음에 들었던 사람을 투표하는 기능 구현을 위한 UI를 Material Design을 이용해 만들었습니다.

<RadioGroup
        ...
        >
        <RadioButton
            ...
            android:text="~~~"/>
            
<RadioGroup/>

위처럼 라디오 그룹 안에 라디오 버튼을 여러 개 구현하게 되면, 이 그룹 내에서는
단 하나의 라디오 버튼만 선택 가능하게 만들 수 있습니다.

1-2. 도형 표현으로 그래프 구현하기

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 도화지 위에, 검정색 사각형이 만들어집니다.

끝.

참고 자료

안드로이드 캔버스 기본 예제
안드로이드에서 blur효과 구현하기

profile
여기는 공부 기록용 블로그

0개의 댓글