수색…


소개

이름에서 알 수 있듯이 벡터 드로어 블은 벡터 그래픽을 기반으로합니다. 벡터 그래픽은 기하학적 모양을 사용하여 그래픽 요소를 설명하는 방법입니다. 이를 통해 XML 벡터 그래픽을 기반으로 드로어 블을 만들 수 있습니다. 이제는 mdpi, hdpi, xhdpi 등 다양한 크기의 이미지를 디자인 할 필요가 없습니다. 벡터 드로어 블을 사용하면 이미지를 XML 파일로 한 번만 작성해야하며 모든 dpi 및 다른 장치에 맞게 크기를 조정할 수 있습니다. 또한 공간을 절약하지 못하고 유지 보수도 간소화됩니다.

매개 변수

매개 변수 세부
<vector> 벡터 드로어 블을 정의하는 데 사용됩니다.
<group> 경로 또는 하위 그룹의 그룹과 변환 정보를 정의합니다. 변환은 뷰포트와 동일한 좌표로 정의됩니다. 그리고 변환은 스케일의 순서로 적용되고, 회전 된 다음 변환됩니다.
<path> 그릴 경로를 정의합니다.
<clip-path> 경로를 현재 클립으로 정의합니다. 클립 경로는 현재 그룹과 하위 그룹에만 적용됩니다.

비고

build.gradle 파일을 업데이트하십시오.

dependencies {
    ...
   compile 'com.android.support:appcompat-v7:23.2.1'
}

Gradle 플러그인 v2.0 이상을 사용하는 경우 다음 코드를 추가하십시오.

// Gradle Plugin 2.0+  
 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }

Gradle 플러그인v1.5 이하 를 사용하는 경우 다음 코드를 추가하십시오.

// Gradle Plugin 1.5  
 android {  
   defaultConfig {  
     generatedDensities = []  
  }  

  // This is handled for you by the 2.0+ Gradle Plugin  
  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }  
 }

자세한 내용은 Android 지원 라이브러리 23.2 출시 노트 를 참조하십시오.

참고 : AppCompat를 사용 하더라도 벡터 드로어 블은 오래된 Android 버전에서 앱 외부에서 작동하지 않습니다. 예를 들어 벡터 드로어 블을 알림 아이콘으로 전달할 수는 없습니다. 앱이 아니라 시스템에서 처리하기 때문입니다. 해결 방법은 이 답변 을 참조하십시오.

VectorDrawable 사용 예

다음은 AppCompat에서 실제로 사용하는 벡터 애셋 예제입니다.

res / drawable / ic_search.xml

<vector xmlns:android="..."
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0"
        android:tint="?attr/colorControlNormal">

    <path
        android:pathData="..."
        android:fillColor="@android:color/white"/>

</vector>

이 드로어 블을 사용하면 ImageView 선언의 예가 다음과 같습니다.

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/ic_search"/>

런타임에 설정할 수도 있습니다.

ImageView iv = (ImageView) findViewById(...);
iv.setImageResource(R.drawable.ic_search);

동일한 속성과 호출이 ImageButton 에서도 작동합니다.

VectorDrawable xml 예제

다음은이 vectordrawable.xml 파일의 간단한 VectorDrawable 입니다.

 <vector xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="64dp"
     android:width="64dp"
     android:viewportHeight="600"
     android:viewportWidth="600" >
     <group
         android:name="rotationGroup"
         android:pivotX="300.0"
         android:pivotY="300.0"
         android:rotation="45.0" >
         <path
             android:name="v"
             android:fillColor="#000000"
             android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" />
     </group>
 </vector>

SVD 파일을 VectorDrawable로 가져 오기

Android Studio에서 SVG 파일을 VectorDrawable 로 가져올 수 있습니다. 다음 단계를 따르세요.

res 폴더에서 "마우스 오른쪽 버튼으로 클릭"하고 새로 만들기 > 벡터 자산을 선택하십시오.

여기에 이미지 설명을 입력하십시오.

로컬 파일 옵션을 선택하고 .svg 파일을 찾습니다. 옵션을 원하는대로 변경하고 다음을 누릅니다. 끝난.

여기에 이미지 설명을 입력하십시오.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow