Language

VectorDrawable クラス

定義

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

[Android.Runtime.Register("android/graphics/drawable/VectorDrawable", DoNotGenerateAcw=true)]
public class VectorDrawable : Android.Graphics.Drawables.Drawable
[<Android.Runtime.Register("android/graphics/drawable/VectorDrawable", DoNotGenerateAcw=true)>]
type VectorDrawable = class
    inherit Drawable
継承
VectorDrawable
属性

注釈

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

<strong>Note:</strong> 再描画のパフォーマンスを最適化するために、VectorDrawable ごとに 1 つのビットマップ キャッシュが作成されます。 したがって、同じ VectorDrawable を参照することは、同じビットマップ キャッシュを共有することを意味します。 これらの参照が同じサイズで一致しない場合、ビットマップは再作成され、サイズが変更されるたびに再描画されます。 つまり、VectorDrawable をさまざまなサイズに使用する場合、サイズごとに 1 つずつ、複数の VectorDrawable を作成する方が効率的です。

VectorDrawable は、 &lt;vector> 要素を使用して XML ファイルで定義できます。

ベクター描画可能には、次の要素があります。

<dt>&lt;vector></dt><dl><dd>ベクター描画可能な <dl><dt>android:name</dt><dd>このベクターの名前を定義するために使用します drawable.</dd><dt>android:width</dt><dd> drawable の組み込み幅を定義するために使用されます。 これにより、通常は dp.< で指定されているすべての寸法単位がサポートされます。/dd><dt>android:height</dt><dd>描画可能な組み込みの高さを定義するために使用されます。 これにより、通常は dp.< で指定されているすべての寸法単位がサポートされます。/dd><dt>android:viewportWidth</dt><dd>ビューポート空間の幅を定義するために使用されます。 ビューポートは基本的に、パスが描画される仮想キャンバス</dd><dt>android:viewportHeight</dt><dd>ビューポート空間の高さを定義するために使用されます。 ビューポートは基本的に、パスが描画される仮想キャンバス</dd><dt>android:tint</dt><dd>描画可能な色を濃淡として適用します。 既定では、濃淡は適用されません。</dd><dt>android:tintMode</dt><dd>濃淡の色の Porter-Duff ブレンド モード。 既定値は src_in.</dd><dt>android:autoMirrored</dt><dd>レイアウト方向が RTL (右から左) のときに描画可能オブジェクトをミラー化する必要があるかどうかを示します。 既定値は false.</dd><dt>android:alpha</dt><dd>この描画可能な不透明度。 既定値は 1.0.</dd></dl></dd></dl>

<dl><dt>&lt;group></dt><dd>パスまたはサブグループのグループと変換情報を定義します。 変換はビューポートと同じ座標で定義されます。 変換はスケールの順序で適用され、回転してから平行移動されます。 <dl><dt>android:name</dt><dd> group.< の名前を定義します。/dd><dt>android:rotation</dt><dd>グループの回転角度。 既定値は 0.</dd><dt>android:pivotX</dt><dd>グループのスケールと回転のピボットの X 座標。 これはビューポート空間で定義されます。 既定値は 0.</dd><dt>android:pivotY</dt><dd>グループのスケールと回転のピボットの Y 座標。 これはビューポート空間で定義されます。 既定値は 0.</dd><dt>android:scaleX</dt><dd> X 座標のスケールの量。 既定値は 1.</dd><dt>android:scaleY</dt><dd>Y 座標のスケールの量。 既定値は 1.</dd><dt>android:translateX</dt><dd> X 座標の翻訳量。 これはビューポート空間で定義されます。 既定値は 0.</dd><dt>android:translateY</dt><dd>Y 座標の翻訳量。 これはビューポート空間で定義されます。 既定値は 0.</dd></dl></dd></dl>

<dl><dt>&lt;path></dt><dd>描画するDefines パス。 <dl><dt>android:name</dt><dd>パスの名前を定義します</dd><dt>android:pathData</dt><dd>SVG のパス データ内の "d" 属性とまったく同じ形式を使用してパス データを定義します。 これはビューポート空間で定義されます。</dd><dt>android:fillColor</dt><dd>パスの塗りつぶしに使用する色を指定します。 色、または SDK 24 以降の場合は、色の状態リストまたはグラデーションの色を指定できます ( android.R.styleable#GradientColor と android.R.styleable#GradientColorItemを参照)。 このプロパティがアニメーション化されている場合、アニメーションによって設定された値は元の値をオーバーライドします。 このプロパティが指定されていない場合、パスの塗りつぶしは描画されません。</dd><dt>android:strokeColor</dt><dd>パスアウトラインの描画に使用する色を指定します。 色、または SDK 24 以降の場合は、色の状態リストまたはグラデーションの色を指定できます ( android.R.styleable#GradientColor と android.R.styleable#GradientColorItemを参照)。 このプロパティがアニメーション化されている場合、アニメーションによって設定された値は元の値をオーバーライドします。 このプロパティが指定されていない場合、パス アウトラインは描画されません。</dd><dt>android:strokeWidth</dt><dd>パス ストロークの幅。 既定値は 0.</dd><dt>android:strokeAlpha</dt><dd>パス ストロークの不透明度。 既定値は 1.</dd><dt>android:fillAlpha</dt><dd>パスを塗りつぶす不透明度。 既定値は 1.</dd><dt>android:trimPathStart</dt><dd>0 から 1 の範囲で、最初からトリミングするパスの比率。 既定値は 0.</dd><dt>android:trimPathEnd</dt><dd>末尾からトリミングするパスの比率 (0 から 1 の範囲)。 既定値は 1.</dd><dt>android:trimPathOffset</dt><dd>シフト トリミング領域 (表示される領域に開始と終了を含めることができます) を 0 から 1 の範囲で指定します。 既定値は 0.</dd><dt>android:strokeLineCap</dt><dd>突き合わせ、丸い、正方形のストロークパスのラインキャップを設定します。 既定値は butt.</dd><dt>android:strokeLineJoin</dt><dd>ストロークされたパスの lineJoin を設定します。 既定値は miter.</dd><dt>android:strokeMiterLimit</dt><dd>ストロークパスのマイター制限を設定します。 既定値は 4.</dd><dt>android:fillType</dt><dd> SDK 24 以降では、パスの fillType を設定します。 型には、"evenOdd" または "nonZero" のいずれかを指定できます。 これらは SVG の "fill-rule" プロパティと同じように動作します。 既定値は nonZero です。 詳細については、「 FillRuleProperty</dd></dl></dd」を参照してください。>

</dl>

<dl><dt>&lt;clip-path></dt><dd>現在のクリップへの定義パス。 クリップ パスは、現在のグループとその子にのみ適用されることに注意してください。 <dl><dt>android:name</dt><dd>クリップ パスの名前を定義します。</dd><dd>Animatable : No.</dd><dt>android:pathData</dt><dd>SVG のパス データの "d" 属性と同じ形式を使用してクリップ パスを定義します</dd><dd>Animatable : Yes.</dd></dl></dd></dl><li>Here は、この vectordrawable.xml ファイル内の単純な VectorDrawable です。

&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
                android:height=&quot;64dp&quot;
                android:width=&quot;64dp&quot;
                android:viewportHeight=&quot;600&quot;
                android:viewportWidth=&quot;600&quot; &gt;
                &lt;group
                    android:name=&quot;rotationGroup&quot;
                    android:pivotX=&quot;300.0&quot;
                    android:pivotY=&quot;300.0&quot;
                    android:rotation=&quot;45.0&quot; &gt;
                    &lt;path
                        android:name=&quot;v&quot;
                        android:fillColor=&quot;#000000&quot;
                        android:pathData=&quot;M300,70 l 0,-70 70,70 0,0 -70,70z&quot; /&gt;
                &lt;/group&gt;
            &lt;/vector&gt;

</li><h4>Gradient サポート</h4>android.graphics.LinearGradient、 android.graphics.RadialGradient、または android.graphics.SweepGradientの 3 種類のグラデーションがサポートされています。

また、、CLAMP、REPEAT、MIRROR の 3 種類のタイル モードをすべてサポートしています。

すべての属性は、 android.R.styleable#GradientColorに一覧表示されます。 異なる属性は、異なる種類のグラデーションに関連します。 <table border="2" align="center" cellpadding="5"><thead><tr><th>LinearGradient</th><th>RadialGradient</th><th>SweepGradient</th></tr></thead><tr><td>startColor </td><td>startColor</td><startColor>startColor</td></tr><tr><td>centerColor</td><td>centerColor</td><td>centerColor</td></tr><tr><td>endColor</td><td>endColor</td><td>endColor</td></tr><tr><td>type</td><td>type</td><type>/td<></tr><tr><>tileMode</td><td>tileMode</td><tdd>tileMode</td></tr><tr><td>startX</td><td>centerX</td><td>centerX</td></tr><tr><td>startY</td><td>centerY</td><td>centerY</td></tr><tr><td>endX</td><td>gradientRadius</td><td></td></tr><tr><td>endY</td><td></td><></td></tr></table>

また、 android.R.styleable#GradientColorItem の色項目が定義されている場合、startColor、centerColor、endColor は無視されることに注意してください。

詳細については、 android.R.styleable#GradientColor と android.R.styleable#GradientColorItemを参照してください。

線形グラデーションを定義する簡単な例を次に示します。

&lt;gradient xmlns:android="http://schemas.android.com/apk/res/android"
                android:startColor="?android:attr/colorPrimary"
                android:endColor="?android:attr/colorControlActivated"
                android:centerColor="#f00"
                android:startX="0"
                android:startY="0"
                android:endX="100"
                android:endY="100"
                android:type="linear"&gt;
            &lt;/gradient&gt;

色項目を使用して放射状グラデーションを定義する簡単な例を次に示します。

&lt;gradient xmlns:android="http://schemas.android.com/apk/res/android"
                android:centerX="300"
                android:centerY="300"
                android:gradientRadius="100"
                android:type="radial"&gt;
                &lt;item android:offset="0.1" android:color="#0ff"/&gt;
                &lt;item android:offset="0.4" android:color="#fff"/&gt;
                &lt;item android:offset="0.9" android:color="#ff0"/&gt;
            &lt;/gradient&gt;

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
VectorDrawable()

それらすべてをルールする 1 つのコンストラクター。

VectorDrawable(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

名前 説明
Alpha

描画可能な図形の現在のアルファ値を取得します。

(継承元 Drawable)
AutoMirrored

レイアウト方向が RTL の右から左の場合に、この Drawable が自動的にミラー化されるかどうかを示します。 または、レイアウト方向が RTL (右から左) の場合に、この Drawable を自動的にミラー化するかどうかを設定します。

(継承元 Drawable)
Bounds

Drawable の境界 Rect を返します。 または、Drawable の外接する四角形を指定します。

(継承元 Drawable)
Callback

この Drawable にアタッチされている現在の Callback 実装を返します。

(継承元 Drawable)
ChangingConfigurations

この描画可能オブジェクトが変更される可能性がある構成パラメーターのマスクを返します。再作成する必要があります。 または、このドローアブルが変更される可能性がある構成パラメーターのマスクを設定し、再作成する必要があります。

(継承元 Drawable)
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
ColorFilter

現在のカラー フィルターを返します。設定されていない場合は null 。

(継承元 Drawable)
Current (継承元 Drawable)
DirtyBounds

描画可能なダーティ 境界 Rect を返します。

(継承元 Drawable)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
HasFocusStateSpecified

この描画可能オブジェクトに、 android.R.attr#state_focusedを明示的に指定する状態仕様が少なくとも 1 つあるかどうかを示します。

(継承元 Drawable)
IntrinsicHeight

描画可能な組み込みの高さを返します。

(継承元 Drawable)
IntrinsicWidth

Drawable の組み込み幅を返します。

(継承元 Drawable)
IsFilterBitmap

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 Drawable)
IsProjected

この描画可能な要求がプロジェクションを要求するかどうか。

(継承元 Drawable)
IsStateful

この描画可能な描画が状態に基づいて外観を変更するかどうかを示します。

(継承元 Drawable)
IsVisible (継承元 Drawable)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 JavaObject)
JniPeerMembers

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

LayoutDirection

この Drawable の解決済みレイアウト方向を返します。

(継承元 Drawable)
Level

現在のレベルを取得します。

(継承元 Drawable)
MinimumHeight

この Drawable で推奨される最小の高さを返します。

(継承元 Drawable)
MinimumWidth

この Drawable で推奨される最小幅を返します。

(継承元 Drawable)
Opacity

この Drawable の不透明度/透明度を返します。

OpticalInsets

レイアウト中の配置操作で使用するために、この Drawable によって提案されるレイアウトインセットをインセットに戻します。

(継承元 Drawable)
PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

TransparentRegion

完全に透明な Drawable の部分を表す Region を返します。

(継承元 Drawable)

メソッド

名前 説明
ApplyTheme(Resources+Theme)

指定したテーマをこの Drawable とその子に適用します。

(継承元 Drawable)
CanApplyTheme() (継承元 Drawable)
ClearColorFilter()

この描画可能な色フィルターを削除します。

(継承元 Drawable)
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 JavaObject)
CopyBounds()

新しい Rect で描画可能な境界のコピーを返します。

(継承元 Drawable)
CopyBounds(Rect)

指定した Rect (呼び出し元によって割り当てられた) 内の描画可能な境界のコピーを返します。

(継承元 Drawable)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 JavaObject)
Draw(Canvas)

アルファ (setAlpha で設定) やカラー フィルター (setColorFilter を使用して設定) などのオプションの効果を考慮して、境界 (setBounds を使用して設定) で描画します。

Equals(Object)

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetConstantState()

この Drawable の共有状態を保持する ConstantState インスタンスを返します。

(継承元 Drawable)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetHotspotBounds(Rect)

ホットスポットの境界を outRect に設定します。

(継承元 Drawable)
GetOutline(Outline)

描画領域を定義するアウトラインを設定する描画可能オブジェクトを取得するために呼び出されます。

(継承元 Drawable)
GetPadding(Rect)

描画可能オブジェクトの境界内にコンテンツを配置するために、この Drawable によって提案されるインセットを埋め込みで返します。

(継承元 Drawable)
GetState()

現在の状態を、 android.R.attr#state_focused、 android.R.attr#state_selectedなどのプリミティブ状態の和集合として記述します。

(継承元 Drawable)
Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme)

XML リソースからこの Drawable を拡張します。

(継承元 Drawable)
Inflate(Resources, XmlReader, IAttributeSet)

XML リソースからこの Drawable を拡張します。

(継承元 Drawable)
InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme)

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 Drawable)
InflateAsync(Resources, XmlReader, IAttributeSet)

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 Drawable)
InvalidateSelf()

現在の Callback 実装を使用して、この Drawable を再描画します。

(継承元 Drawable)
JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
JumpToCurrentState()

この Drawable が状態間でアニメーションを切り替える場合は、すぐに現在の状態にジャンプし、アクティブなアニメーションをスキップするように求めます。

(継承元 Drawable)
Mutate()

この描画可能な変更可能にします。

(継承元 Drawable)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
OnBoundsChange(Rect)

境界に基づいて変化する場合は、サブクラスでこれをオーバーライドして外観を変更します。

(継承元 Drawable)
OnLayoutDirectionChanged(Int32)

描画可能なレイアウトの解決された方向が変更されたときに呼び出されます。

(継承元 Drawable)
OnLevelChange(Int32)

レベルに応じて変化する場合は、サブクラスでこれをオーバーライドして外観を変更します。

(継承元 Drawable)
OnStateChange(Int32[])

サブクラスでこれをオーバーライドして、指定した状態を認識した場合に外観を変更します。

(継承元 Drawable)
ScheduleSelf(Action, Int64)

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 Drawable)
ScheduleSelf(IRunnable, Int64)

現在の Callback 実装を使用して、この Drawable をスケジュールします。

(継承元 Drawable)
SetAlpha(Int32)

描画可能な図形のアルファ値を指定します。 0 は完全に透明、255 は完全に不透明を意味します。

SetBounds(Int32, Int32, Int32, Int32)

Drawable の外接する四角形を指定します。

(継承元 Drawable)
SetCallback(Drawable+ICallback)

Callback オブジェクトをこの Drawable にバインドします。

(継承元 Drawable)
SetColorFilter(Color, PorterDuff+Mode)

この描画可能な色フィルターとして色と Porter-Duff モードを指定します。

(継承元 Drawable)
SetColorFilter(ColorFilter)

描画可能な描画用のオプションのカラー フィルターを指定します。

SetDither(Boolean)

true に設定すると、カラー コンポーネントあたり 8 ビット未満のデバイスに描画されるときに、描画可能なディザの色が表示されます。

(継承元 Drawable)
SetFilterBitmap(Boolean)

true に設定すると、描画可能なフィルターでビットマップがスケールまたは回転されたときにバイリニア サンプリングを使用します。

(継承元 Drawable)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetHotspot(Single, Single)

描画可能範囲内のホットスポットの位置を指定します。

(継承元 Drawable)
SetHotspotBounds(Int32, Int32, Int32, Int32)

ホットスポットが描画可能な境界と異なる必要がある場合に、ホットスポットが制約される境界を設定します。

(継承元 Drawable)
SetLayoutDirection(LayoutDirection)

この描画可能なレイアウトの方向を設定します。

(継承元 Drawable)
SetLevel(Int32)

描画可能なレベルを指定します。

(継承元 Drawable)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 JavaObject)
SetState(Int32[])

描画可能な状態のセットを指定します。

(継承元 Drawable)
SetTint(Int32)

この描画可能な色の濃淡を指定します。

(継承元 Drawable)
SetTintBlendMode(BlendMode)

この描画可能オブジェクトの濃淡ブレンド モードを指定します。

(継承元 Drawable)
SetTintList(ColorStateList)

この描画可能な色の濃淡を色の状態リストとして指定します。

(継承元 Drawable)
SetTintMode(PorterDuff+Mode)

この描画可能オブジェクトの濃淡ブレンド モードを指定します。

(継承元 Drawable)
SetVisible(Boolean, Boolean)

この Drawable が表示されるかどうかを設定します。

(継承元 Drawable)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
UnscheduleSelf(Action)

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 Drawable)
UnscheduleSelf(IRunnable)

現在の Callback 実装を使用して、この Drawable をスケジュール外に設定します。

(継承元 Drawable)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 JavaObject)
IJavaPeerable.Finalized()

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

(継承元 JavaObject)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

これにより、XML ベクター グラフィックに基づいて描画可能な図形を作成できます。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象