Skip to content

Most visited

Recently visited

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를 참조하세요. 벡터 드로어블의 속성 애니메이트에 대한 자세한 내용은 벡터 드로어블 애니메이트를 참조하세요.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

WeChat에서 Google Developers 팔로우하기

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)