콘텐츠로 건너뛰기

자주 방문한 페이지

최근 방문한 페이지

navigation

드로어블 사용

드로어블의 다음 기능은 앱에서 머티리얼 디자인을 구현하는 데 도움이 됩니다.

이 과정은 앱에서 이러한 기능을 사용하는 방법을 보여줍니다.

드로어블 리소스 색조 적용

Android 5.0(API 레벨 21) 이상에서는 알파 마스크로 정의된 비트맵 및 나인패치에 색조를 적용할 수 있습니다. 색상 리소스 또는 색상 리소스로 변환되는 테마 특성(예: ?android:attr/colorPrimary)을 사용하여 색조를 적용할 수 있습니다. 일반적으로 이러한 자산은 한 번만 생성하며 자동으로 채색되어 테마와 일치하게 됩니다.

setTint() 메서드를 사용하여 BitmapDrawable 또는 NinePatchDrawable 객체에 색조를 적용할 수 있습니다. 또한 android:tintandroid:tintMode 특성으로 레이아웃에 색조 색상과 모드를 설정할 수 있습니다.

이미지에서 주요 색상 추출

Android 지원 라이브러리 r21 이상에는 이미지에서 주요 색상을 추출할 수 있는 Palette 클래스가 있습니다. 이 클래스는 다음과 같은 주요 색상을 추출합니다.

이러한 색상을 추출하려면, 이미지를 불러올 배경 스레드에서 Palette.generate() 정적 메서드로 Bitmap 객체를 전달합니다. 스레드를 사용할 수 없는 경우, 대신 Palette.generateAsync() 메서드를 호출하고 Listener를 제공합니다.

Palette.getVibrantColor와 같은 Palette 클래스의 getter 메서드를 사용하여 이미지에서 주요 색상을 추출할 수 있습니다.

프로젝트에서 Palette 클래스를 사용하려면 다음 Gradle 종속 사항을를 앱의 모듈에 추가합니다.

dependencies {
    ...
    compile 'com.android.support:palette-v7:21.0.0'
}

자세한 내용은 Palette 클래스의 API 레퍼런스를 참조하세요.

벡터 드로어블 생성

비디오

Android 벡터 그래픽

Android 5.0(API 레벨 21) 이상에서는 정의를 잃지 않고 배율을 조정하는 벡터 드로어블을 정의할 수 있습니다. 비트맵 이미지의 경우 각 화면 밀도마다 자산 파일이 필요한 반면, 벡터 이미지의 경우에는 하나의 자산 파일만 필요합니다. 벡터 이미지를 생성하려면 <vector> XML 요소 안에 모양의 세부정보를 정의합니다.

다음 예에서는 하트 모양을 가진 벡터 이미지를 정의합니다.

<!-- res/drawable/heart.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    <!-- intrinsic size of the drawable -->
    android:height="256dp"
    android:width="256dp"
    <!-- size of the virtual canvas -->
    android:viewportWidth="32"
    android:viewportHeight="32">

  <!-- draw a path -->
  <path android:fillColor="#8fff"
      android:pathData="M20.5,9.5
                        c-1.955,0,-3.83,1.268,-4.5,3
                        c-0.67,-1.732,-2.547,-3,-4.5,-3
                        C8.957,9.5,7,11.432,7,14
                        c0,3.53,3.793,6.257,9,11.5
                        c5.207,-5.242,9,-7.97,9,-11.5
                        C25,11.432,23.043,9.5,20.5,9.5z" />
</vector>

벡터 이미지는 Android에서 VectorDrawable 객체로 나타납니다. pathData 구문에 대한 자세한 내용은 SVG Path reference를 참조하세요. 벡터 드로어블의 속성 애니메이트에 대한 자세한 내용은 벡터 드로어블 애니메이트를 참조하세요.

이 사이트는 쿠키를 사용하여 사이트별 언어 및 표시 옵션에 대한 환경설정을 저장합니다.

Google Play에서 성공을 거두는 데 도움이 되는 최신 Android 개발자 뉴스 및 도움말을 받아 보세요.

* 필수 입력란

완료되었습니다.

WeChat에서 Google Developers 팔로우하기

이 사이트를 (으)로 탐색할까요?

페이지를 요청했지만 이 사이트의 언어 환경설정은 입니다.

언어 환경설정을 변경하고 이 사이트를 (으)로 탐색할까요? 언어 환경설정을 나중에 변경하려면 각 페이지 하단의 언어 메뉴를 사용하세요.

이 클래스를 사용하려면 API 수준 이상이 필요합니다.

문서에 대해 선택한 API 수준이 이므로 이 문서가 표시되지 않습니다. 왼쪽 탐색 메뉴의 선택기로 문서 API 수준을 변경할 수 있습니다.

앱에 필요한 API 수준 지정에 관한 자세한 내용은 다양한 플랫폼 버전 지원을 참조하세요.

Take a short survey?
Help us improve the Android developer experience. (April 2018 — Developer Survey)