このチュートリアルでは、Android Vector Drawable について説明します。 さらに、Android アプリケーションに実装します。
Android Vector Drawable
多くの場合、描画可能な画像として PNG を使用します。 PNG 画像をさまざまな画面サイズに対応させるために、サイズと密度が異なる複数の PNG アセットを作成します。
ここで、Vector Drawable が私たちを救ってくれます! 彼らは PNG image.
A VectorDrawable は、点、線、曲線のセットとして XML ファイルで定義されたベクトル グラフィックで、関連する色情報とともに定義されています。 彼らはあまりにも画面に迅速にレンダリングされます。 VectorDrawable は XML ファイルです。
Drawable フォルダに新しい Vector Asset を追加するには、新規作成|Vector Asset.
これで、Material Design アイコンの Vector drawable を作成することができるようになりました。 VectorDrawable のコードは次のようになります:
これらは vector
タグに設定されます。 android:viewportWidth
と android:viewportHeight
は描画可能な境界の幅と高さを設定する際に使用される。 これらの寸法の範囲内で、ベクターの描画対象はキャンバスに描かれる。
path
は、描画対象を作成するタグである。 パスの中では、線、曲線、円弧を作成し、境界線、背景色を設定する。
Creating Path for Vector Assets
パスコマンドは、アルファベットと座標から構成されています。 絵を描くようにパスを作成することを想像してください。 大文字のアルファベットは絶対位置を表します。 小文字は相対的な位置を表します。
- M – movetoコマンド。 これは、ビュー上の指定された座標に鉛筆を移動させるという方法です。 例 M 100 100 は、キャンバス上の 100, 100 の座標に想像上の鉛筆を移動します。
- L – line to コマンド。 現在の位置から指定された位置まで線を引くために使用されます。
M 100 100, L 120 100
は水平線を描きます。 -
z
– これはパスを閉じるために使用します。 最後の位置から最初の位置まで線を引きます。 例M 100 100 L 120 100 L 120 120 L 100 120 Z
は正方形を作成します。 -
C
– これはベジェ曲線を作成するために使用します。 この後、3組の座標を指定する必要がある。 1番目と2番目は、初期点と終了点の間の2つの制御点になります。 -
A
– 円弧を描くために使用されます。 aの後は、次のような形式で指定する必要がある。 (rx ry x-axis-rotation large-arc-flag sweep-flag x y). rx ryとx軸は指定した2つの半径です。
group
タグ内にパスタグを設定すると、ベクターのパスを複数指定できます。上記の知識を使ってAndroidアプリケーションでランダムに面白いVector Drawableを作って見ましょう。
Android Vector Drawable のサンプル プロジェクトの構造
Android Vector Drawable コード
activity_main.Project のコードは、以下のとおりです。
Vector Drawable の実装を 1 つずつ見ていきましょう。
ic_rectangle.xml
上のコードでは、2 つのパスを作成しました。 それぞれ直角三角形です。
これを LinearLayout に設定すると、背景は次のようになります。
ic_w.xml
上記のコードでは、線を使用して W シンボルを作成しようとしています。
Note: 独立したパスではなく、すべてを単一のパス コマンドで統合することが可能です。
ic_w_filled.xml
以下のコードでは、z コマンドを使用してパスを閉じ、その中に色を塗ります。
ic_a.xml
パスを使って A 文字を作成しましょう。
ic_c.xml
AとCの文字のベクターは次のようになります。
ic_0.xml
二つの円弧を使って円を作り、それを閉じます。 vector drawable を使用して JournalDev JD サンプル アイコンを作成しましょう。
最後に、アプリケーションの出力は次のようになります。 最終的な Android VectorDrawable プロジェクトは、以下のリンクからダウンロードできます: