Drawable クラス

定義

Drawable は、"描画できるもの" の一般的な抽象化です。

[Android.Runtime.Register("android/graphics/drawable/Drawable", DoNotGenerateAcw=true)]
public abstract class Drawable : Java.Lang.Object
[<Android.Runtime.Register("android/graphics/drawable/Drawable", DoNotGenerateAcw=true)>]
type Drawable = class
    inherit Object
継承
Drawable
派生
属性

注釈

Drawable は、"描画できるもの" の一般的な抽象化です。 ほとんどの場合、画面に描画するために取得されたリソースの種類として Drawable を処理します。Drawable クラスは、さまざまな形式を取る可能性がある基になるビジュアル リソースを処理するための汎用 API を提供します。 Drawable とは android.view.View異なり、Drawable には、イベントを受信したり、ユーザーと対話したりする機能はありません。

Drawable には、単純な描画に加えて、クライアントが描画されているものと対話するための一般的なメカニズムが多数用意されています。

<ul><li> メソッド #setBounds<var>を<>呼び出して、Drawable の描画場所と大きさを指定します。 すべての Drawable は、要求されたサイズを考慮する必要があります。多くの場合、イメージをスケーリングするだけで済みます。 クライアントは、一部の Drawable の推奨サイズと#getIntrinsicWidthメソッドを#getIntrinsicHeight検索できます。

<li> メソッドは #getPadding 、その内部に配置されたコンテンツをフレーム化する方法に関するいくつかの Drawables 情報から返すことができます。 たとえば、ボタン ウィジェットのフレームを目的とした Drawable は、ラベルをそれ自体の内側に正しく配置するパディングを返す必要があります。

<li> このメソッドを #setState 使用すると、クライアントは Drawable に描画される状態 ("focused"、"selected" など) を通知できます。一部の描画可能オブジェクトは、選択した状態に基づいて画像を変更できます。

<li> この方法により、クライアントは #setLevel 、バッテリ レベルや進行状況レベルなど、Drawable を変更できる単一の連続コントローラーを提供できます。 一部の描画可能オブジェクトは、現在のレベルに基づいて画像を変更できます。

<li> Drawable は、インターフェイスを介してクライアントに呼び戻すことによってアニメーションを Callback 実行できます。 アニメーションが機能するように、すべてのクライアントがこのインターフェイスを (経由して #setCallback) サポートする必要があります。 これを行う簡単な方法は、次のような android.view.View#setBackground(Drawable) システム設備を介して行 android.widget.ImageViewいます. </ul>

通常、アプリケーションには表示されませんが、Drawables にはさまざまな形式が使用される場合があります。

<ul><li><b>Bitmap</b>: 最も単純な Drawable、PNG または JPEG イメージ。 <li><b>Nine Patch</b>: PNG 形式の拡張機能を使用すると、PNG 形式を拡張する方法に関する情報を指定し、その中に物を配置できます。 <li><b>Vector</b>: 点、線、曲線のセットとして XML ファイルで定義された描画可能な描画可能な要素と、関連する色情報。 このタイプの描画可能な描画は、表示品質を損なうことなくスケーリングできます。 <li><b>Shape</b>: 生ビットマップではなく単純な描画コマンドが含まれているので、場合によってはサイズを変更しやすくなります。 <li><b>Layers</b>: 複数の基になるドローアブルを相互に描画する複合描画可能。 <li><b>States</b>: 状態に基づいて一連のドローアブルのいずれかを選択する複合ドローアブル。 <li><b>Levels</b>: レベルに基づいて一連のドローアブルのいずれかを選択する複合ドローアブル。 <li><b>Scale</b>: 現在のレベルに基づいて全体的なサイズが変更された、単一の子描画可能な複合描画可能な描画可能な値。 </ul>

"Custom"><h3>Custom drawables</h3>

Android のすべてのバージョンでは、フレームワークで提供される描画可能なクラスの代わりに Drawable クラスを拡張して実行時に使用できます。 以降では android.os.Build.VERSION_CODES#N API 24、カスタム描画可能クラスを XML でも使用できます。

<strong>Note:</strong> Custom drawable classes are only accessible from your application package. 他のアプリケーションでは読み込むことができません。

少なくとも、カスタム描画可能クラスは Drawable に抽象メソッドを実装する必要があり、コンテンツを描画するためにメソッドを Drawable#draw(Canvas) オーバーライドする必要があります。

カスタム drawables クラスは、複数の方法 <で XML で使用できます。ul><li> 完全修飾クラス名を XML 要素名として使用します。 このメソッドの場合、カスタム描画可能クラスはパブリック最上位クラスである必要があります。

&lt;com.myapp.MyCustomDrawable xmlns:android="http://schemas.android.com/apk/res/android"
                android:color="#ffff0000" /&gt;

</li li>>< xml 要素名として em>drawable</em> を使用<し、em>クラス/em> 属性から完全修飾クラス<名を<指定します。 このメソッドは、パブリック最上位クラスとパブリック静的内部クラスの両方に使用できます。

&lt;drawable xmlns:android="http://schemas.android.com/apk/res/android"
                class="com.myapp.MyTopLevelClass$InnerCustomDrawable"
                android:color="#ffff0000" /&gt;

</li></ul>

<div class="special reference"><h3>Developer Guides</h3>

描画可能オブジェクトの使用方法の詳細については、Canvas および Drawables 開発者ガイドを参照してください。 描画可能なリソース (コードに読み込むことができる XML ファイルまたはビットマップ ファイル) を作成する例については、Drawable Resources ドキュメントを参照してください。

</div>

の Java ドキュメントandroid.graphics.drawable.Drawable

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

Drawable()

Drawable は、"描画できるもの" の一般的な抽象化です。

Drawable(IntPtr, JniHandleOwnership)

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

プロパティ

Alpha

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

AutoMirrored

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

Bounds

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

Callback

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

ChangingConfigurations

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

Class

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

(継承元 Object)
ColorFilter

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

Current

Drawable は、"描画できるもの" の一般的な抽象化です。

DirtyBounds

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

Handle

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

(継承元 Object)
HasFocusStateSpecified

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

IntrinsicHeight

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

IntrinsicWidth

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

IsFilterBitmap

Drawable は、"描画できるもの" の一般的な抽象化です。

IsProjected

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

IsStateful

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

IsVisible

Drawable は、"描画できるもの" の一般的な抽象化です。

JniIdentityHashCode

Drawable は、"描画できるもの" の一般的な抽象化です。

(継承元 Object)
JniPeerMembers

Drawable は、"描画できるもの" の一般的な抽象化です。

LayoutDirection

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

Level

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

MinimumHeight

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

MinimumWidth

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

Opacity

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

OpticalInsets

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

PeerReference

Drawable は、"描画できるもの" の一般的な抽象化です。

(継承元 Object)
ThresholdClass

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

ThresholdType

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

TransparentRegion

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

メソッド

ApplyTheme(Resources+Theme)

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

CanApplyTheme()

Drawable は、"描画できるもの" の一般的な抽象化です。

ClearColorFilter()

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

Clone()

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

(継承元 Object)
CopyBounds()

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

CopyBounds(Rect)

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

CreateFromPath(String)

ファイル パス名から描画可能なオブジェクトを作成します。

CreateFromPathAsync(String)

Drawable は、"描画できるもの" の一般的な抽象化です。

CreateFromResourceStream(Resources, TypedValue, Stream, String)

指定されたリソースと値を使用して密度情報を決定し、入力ストリームから描画可能なオブジェクトを作成します。

CreateFromResourceStream(Resources, TypedValue, Stream, String, BitmapFactory+Options)

指定されたリソースと値を使用して密度情報を決定し、入力ストリームから描画可能なオブジェクトを作成します。

CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String)

Drawable は、"描画できるもの" の一般的な抽象化です。

CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String, BitmapFactory+Options)

Drawable は、"描画できるもの" の一般的な抽象化です。

CreateFromStream(Stream, String)

入力ストリームから描画可能なオブジェクトを作成する

CreateFromStreamAsync(Stream, String)

Drawable は、"描画できるもの" の一般的な抽象化です。

CreateFromXml(Resources, XmlReader)

XML ドキュメントからドローアブルを作成します。

CreateFromXml(Resources, XmlReader, Resources+Theme)

XML ドキュメントからドローアブルを作成します。

CreateFromXmlAsync(Resources, XmlReader)

Drawable は、"描画できるもの" の一般的な抽象化です。

CreateFromXmlAsync(Resources, XmlReader, Resources+Theme)

Drawable は、"描画できるもの" の一般的な抽象化です。

CreateFromXmlInner(Resources, XmlReader, IAttributeSet)

XML ドキュメント内から作成します。

CreateFromXmlInner(Resources, XmlReader, IAttributeSet, Resources+Theme)

XML ドキュメント内から作成します。

Dispose()

Drawable は、"描画できるもの" の一般的な抽象化です。

(継承元 Object)
Dispose(Boolean)

Drawable は、"描画できるもの" の一般的な抽象化です。

(継承元 Object)
Draw(Canvas)

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

Equals(Object)

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

(継承元 Object)
GetConstantState()

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

GetHashCode()

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

(継承元 Object)
GetHotspotBounds(Rect)

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

GetOutline(Outline)

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

GetPadding(Rect)

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

GetState()

現在の状態を、原始的な状態の和集合 (例: ,android.R.attr#state_selected) としてandroid.R.attr#state_focused記述します。

Inflate(Resources, XmlReader, IAttributeSet)

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

Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme)

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

InflateAsync(Resources, XmlReader, IAttributeSet)

Drawable は、"描画できるもの" の一般的な抽象化です。

InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme)

Drawable は、"描画できるもの" の一般的な抽象化です。

InvalidateSelf()

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

JavaFinalize()

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

(継承元 Object)
JumpToCurrentState()

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

Mutate()

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

Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
OnBoundsChange(Rect)

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

OnLayoutDirectionChanged(Int32)

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

OnLevelChange(Int32)

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

OnStateChange(Int32[])

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

ResolveOpacity(Int32, Int32)

2 つのソース不透明度の適切な不透明度の値を返します。

ScheduleSelf(Action, Int64)

Drawable は、"描画できるもの" の一般的な抽象化です。

ScheduleSelf(IRunnable, Int64)

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

SetAlpha(Int32)

描画可能な図形のアルファ値を指定します。

SetBounds(Int32, Int32, Int32, Int32)

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

SetCallback(Drawable+ICallback)

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

SetColorFilter(Color, PorterDuff+Mode)

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

SetColorFilter(ColorFilter)

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

SetDither(Boolean)

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

SetFilterBitmap(Boolean)

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

SetHandle(IntPtr, JniHandleOwnership)

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

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

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

SetHotspotBounds(Int32, Int32, Int32, Int32)

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

SetLayoutDirection(LayoutDirection)

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

SetLevel(Int32)

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

SetState(Int32[])

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

SetTint(Int32)

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

SetTintBlendMode(BlendMode)

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

SetTintList(ColorStateList)

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

SetTintMode(PorterDuff+Mode)

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

SetVisible(Boolean, Boolean)

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

ToArray<T>()

Drawable は、"描画できるもの" の一般的な抽象化です。

(継承元 Object)
ToString()

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

(継承元 Object)
UnregisterFromRuntime()

Drawable は、"描画できるもの" の一般的な抽象化です。

(継承元 Object)
UnscheduleSelf(Action)

Drawable は、"描画できるもの" の一般的な抽象化です。

UnscheduleSelf(IRunnable)

現在 Callback の実装を使用して、この Drawable を予定外に設定します。

Wait()

現在のスレッドが目覚めるまで待機させます。通常<は、通知<>/em> または <em>割り込み/em> を受け<取ります。

(継承元 Object)
Wait(Int64)

現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。

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

現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)

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

IJavaPeerable.Disposed()

Drawable は、"描画できるもの" の一般的な抽象化です。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

Drawable は、"描画できるもの" の一般的な抽象化です。

(継承元 Object)
IJavaPeerable.Finalized()

Drawable は、"描画できるもの" の一般的な抽象化です。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

Drawable は、"描画できるもの" の一般的な抽象化です。

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

Drawable は、"描画できるもの" の一般的な抽象化です。

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

Drawable は、"描画できるもの" の一般的な抽象化です。

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

Drawable は、"描画できるもの" の一般的な抽象化です。

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

Drawable は、"描画できるもの" の一般的な抽象化です。

GetJniTypeName(IJavaPeerable)

Drawable は、"描画できるもの" の一般的な抽象化です。

適用対象