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 を作成しましょう。
- プロジェクト内の Drawable ディレクトリを右クリック
- Go to New ⇒ Vector Asset
- Lanccher icon to browse Material Icons.
- Select an icon and click on OK.
- Review the name of the file then click on next.Material Icons…
- Search for the Project in a Project in a Project in a Picture.
- Vector Asset Studio は、ファイルの保存場所を表示します。 以下はその手順です。
- プロジェクト内で drawable ディレクトリを右クリック
- 新規作成 ⇒ ベクターアセット
- ローカルファイル (SVG, PSD) を選択
- 参照アイコンをクリックして、SVG または PSD ファイルに移動し選択、OK をクリックします。
- プレビューで画像を確認し、[次へ] ⇒ [終了]をクリックします。
VectorDrawable を使う
プロジェクトに VectorDrawable がうまく追加できたので、次はそれを使ってみましょう。 メインアクティビティのレイアウトファイル(activity_main.xml)を開き、以下のxmlを追加してください。 このレイアウトには、VectorDrawable を ImageView や他のビューで使用する方法 (背景として) が含まれています。
Java から VectorDrawable を使用したり、背景として使用する (xml でも) には、リソースから互換ベクトルを有効にするために AppCompatDelegate を親密にする必要があります。 以下は、そのためのコードです。