Android で SVG / Vector Drawables を使用する

Android アプリケーションの開発において、複数の解像度をサポートすることは、開発者にとって悪夢となる場合があります。 異なる解像度の複数の画像を含めると、プロジェクトのサイズも大きくなります。

Vector Drawable とは?

A VectorDrawable とは XML ファイル内で点、線、曲線とその関連色情報と共に定義されたベクター グラフィックスです。 ベクター描画可能ファイルを使用する主な利点は、画像のスケーラビリティです。 mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi などの異なるサイズの画像を作成する必要がなくなります。 ベクターDrawableは、表示品質を損なうことなく拡大縮小することができます。つまり、同じファイルを異なるスクリーン密度用に、画質を損なうことなくサイズ変更することができます。 この結果、APK ファイルが小さくなり、開発者のメンテナンスが軽減されます。

Android プロジェクトの作成

1. Android StudioのFile ⇒ New Projectから新規プロジェクトを作成し、プロジェクトの詳細を記入します。

2. build.gradleを開き、defaultConfigブロック内に以下の行を追加します。

vectorDrawables.useSupportLibrary = true

gradle 2以下のバージョンを使用している場合は、以下の行を追加します。

aaptOptions {
additionalParameters " — no-version-vectors"
}

VectorDrawable の作成

Android Studio Vector asset tool を使用して VectorDrawable を作成する方法は 2 つあります。

I) Material Icons

では、まず Material Icons から VectorDrawable を作成しましょう。

  1. プロジェクト内の Drawable ディレクトリを右クリック
  2. Go to New ⇒ Vector Asset
  3. Lanccher icon to browse Material Icons.
  4. Select an icon and click on OK.
  5. Review the name of the file then click on next.Material Icons…
  6. Search for the Project in a Project in a Project in a Picture.
  7. Vector Asset Studio は、ファイルの保存場所を表示します。 以下はその手順です。
    1. プロジェクト内で drawable ディレクトリを右クリック
    2. 新規作成 ⇒ ベクターアセット
    3. ローカルファイル (SVG, PSD) を選択
    4. 参照アイコンをクリックして、SVG または PSD ファイルに移動し選択、OK をクリックします。
    5. プレビューで画像を確認し、[次へ] ⇒ [終了]をクリックします。

    VectorDrawable を使う

    プロジェクトに VectorDrawable がうまく追加できたので、次はそれを使ってみましょう。 メインアクティビティのレイアウトファイル(activity_main.xml)を開き、以下のxmlを追加してください。 このレイアウトには、VectorDrawable を ImageView や他のビューで使用する方法 (背景として) が含まれています。

    Java から VectorDrawable を使用したり、背景として使用する (xml でも) には、リソースから互換ベクトルを有効にするために AppCompatDelegate を親密にする必要があります。 以下は、そのためのコードです。

コメントを残す

メールアドレスが公開されることはありません。