Skip to content

Most visited

Recently visited

navigation

ドローアブルの使用

アプリにマテリアル デザインを実装する際は、Drawable (ドローアブル)の次の機能を活用できます。

このレッスンでは、アプリでのこれらの機能を使用する方法について説明します。

ドローアブル リソースに色を付ける

Android 5.0(API レベル 21)以降では、アルファ マスクとして定義されたビットマップや 9-patch に色を付けることができます。 着色には、カラーリソースまたはカラーリソースに変換されるテーマ属性を使用できます(?android:attr/colorPrimary など)。 通常は、これらのアセットを一度作成するだけで、テーマに合うように自動的に着色されます。

setTint() メソッドを使用して BitmapDrawable オブジェクトか NinePatchDrawable オブジェクトに色を適用できます。また、android:tint 属性や android:tintMode 属性を使ってレイアウトで色やモードを設定できます。

画像から代表色を抽出する

Android サポート ライブラリ r21 以降には、画像から代表色を抽出できる Palette クラスが含まれています。

これらの色を抽出するには、画像を読み込むバックグラウンド スレッドで Bitmap オブジェクトを Palette.generate() の静的メソッドに渡します。 スレッドを使用できない場合は、代わりに Palette.generateAsync() メソッドを呼び出してリスナーを提供します。

Palette クラスで、Palette.getVibrantColor などの getter メソッドを使って画像から代表色を取得できます。

プロジェクトで Palette クラスを使用するには、アプリのモジュールに次の Gradle 依存関係を追加します。

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

詳細については、API リファレンスの Palette クラスをご覧ください。

ベクター型ドローアブルを作成する

ビデオ

Android ベクター グラフィック

Android 5.0(API レベル 21)以降では、ベクター型ドローアブルを定義できます。このドローアブルは定義を失わずに拡張できます。 ビットマップ画像では画面密度ごとにアセット ファイルが必要ですが、ベクター画像で必要なアセット ファイルは 1 つのみです。 ベクター画像を作成するには、<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 パス リファレンスをご覧ください。ベクター型ドローアブルのアニメーションの詳細については、 ベクター ドローアブルのアニメーションをご覧ください。

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)