Android Study

xml -> bitmap 변환 하기 (feat.Kakao map Marker)

85chong 2023. 1. 26. 09:17
728x90
반응형
SMALL

kakao map 사용시 marker 를 찍는 과정에서 커스텀한 이미지를 사용 할 경우가 있음

MapPOIItem 내부에 있는 함수를 호출 해 이미지를 변경 할수있다. 하지만 이미지 파일만 적용이 되고,

백터 이미지 파일 또는 그외 파일은 적용 되지 않는다. 빌드는 되지만 원하는 이미지는 노출되지 않는다.

커스텀한 이미지를 만드는 과정 중에는 xml 파일(ex 본인이 직접 만든 말풍선..) 을 bitmap 이미지로 변경하여

해당 이미지를 노출 되게 하는 방법은 아래와 같음

private fun viewConvertToBitmap(): Bitmap? {
    //val view = layoutInflater.inflate(직접만든.xml, null)
    val view = layoutInflater.inflate(R.layout.view_custom_marker_img, null)
    val displayMetrics = DisplayMetrics()
    view.layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
    view.measure(displayMetrics.widthPixels, displayMetrics.heightPixels)
    view.layout(0, 0, displayMetrics.widthPixels, displayMetrics.heightPixels)
    val bitmap = Bitmap.createBitmap(view.measuredWidth, view.measuredHeight, Bitmap.Config.ARGB_8888)
    val canvas = Canvas(bitmap)
    view.draw(canvas)
    return bitmap
}

- 끝 -