Android
벡터 드로어 블
수색…
소개
이름에서 알 수 있듯이 벡터 드로어 블은 벡터 그래픽을 기반으로합니다. 벡터 그래픽은 기하학적 모양을 사용하여 그래픽 요소를 설명하는 방법입니다. 이를 통해 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