마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

vector path를 사진으로 채우는 방법이 있을까요?

0 추천

지도에 여행간곳을 표시해주는 지도 채우기 어플을 개발중에 있습니다.

 

지역 모양을 이미지를 포토샵으로 다 따서 하자니 레이아웃에서 이미지뷰 배치가 생각보다 쉽지 않아

svg 이미지vector xml로 변환하여 개발을 해 보려고 합니다.

한국 지도 svg 이미지를 xml로 변환한 코드의 일부는 다음과 같습니다.

 

ic_map_of_south_korea.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="509dp"
    android:height="716.105dp"
    android:viewportWidth="509"
    android:viewportHeight="716.105">

  <!--  생략 -->

  <path
      android:name="Goseong"
      android:strokeWidth="1"
      android:pathData="M340.083,66.939l13.334,-7l-8.334,-17.5l-1.333,-4.333l-7.167,-10l1.334,-1.833l-8,-14.167V8.939l-6.5,-8.333l-5.334,2.167L317.75,16.94l-1.167,7.833l-10.166,12.833l2.833,2l2.5,0.833l0.833,0.167l-1,1.833l0.667,4.333l5.5,-1.5l1,3.667l0.833,5.5l4.167,0.333l1,3.833l3.667,1l3.833,-1.833l2.167,2.5v5.5L340.083,66.939z"
      android:fillColor="#FFFFFF"
      android:strokeColor="#000000"/>

  <!--  생략 -->

</vector>

 

MapSeoulFragment.kt

    fun onClick() {
        val view: RichPathView = binding.icMapOfSouthKorea
        view.findRichPathByName("Goseong")?.setOnPathClickListener {
            Log.d("Goseong", "click")
            view.findRichPathByName("Goseong")?.fillColor = Color.parseColor("#ffd2ee")
        }

 

https://github.com/tarek360/RichPath 라이브러리를 이용하여 path 를 클릭하면 색이 바뀌는 것 까지는 구현을 했는데.. 문제는 이미지 입니다.

 

path내부를 사진으로 채우고 싶은데 fillColor 만 가능하고 이미지는 아무리 찾아봐도 모르겠습니다..

path를 사진으로 채우는 방법이 있다거나 다른 지도 채우기 방법이 있다면 조언 주시면 감사하겠습니다.

droidand (140 포인트) 님이 2021년 8월 20일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...