Drawable クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 クラスは、さまざまな形式を取る可能性がある基になるビジュアル リソースを処理するための汎用 API を提供します。
android.view.Viewとは異なり、Drawable にはイベントを受信したり、ユーザーと対話したりする機能はありません。
Drawable には、単純な描画に加えて、クライアントが描画されているものと対話するための一般的なメカニズムが多数用意されています。
<ul><li>#setBounds メソッド <var>must</var> を呼び出して、Drawable の描画場所と大きさを指定します。 すべての Drawable は、要求されたサイズを考慮する必要があります。多くの場合、イメージをスケーリングするだけで済みます。 クライアントは、 #getIntrinsicHeight メソッドと #getIntrinsicWidth メソッドを使用して、一部の Drawable に適したサイズを見つけることができます。
<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> カスタム 描画可能クラスには、アプリケーション パッケージ内からのみアクセスできます。 他のアプリケーションでは読み込むことができません。
少なくとも、カスタム描画可能クラスは Drawable に抽象メソッドを実装し、 Drawable#draw(Canvas) メソッドをオーバーライドしてコンテンツを描画する必要があります。
カスタム drawables クラスは、xml 要素名として完全修飾クラス名を使用する <ul><li> 複数の方法で XML で使用できます。 このメソッドの場合、カスタム描画可能クラスはパブリック最上位クラスである必要があります。
<com.myapp.MyCustomDrawable xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#ffff0000" />
</li><li> XML 要素名として <em>drawable</em> を使用し、 <em>class</em> 属性の完全修飾クラス名を指定します。 このメソッドは、パブリック最上位クラスとパブリック静的内部クラスの両方に使用できます。
<drawable xmlns:android="http://schemas.android.com/apk/res/android"
class="com.myapp.MyTopLevelClass$InnerCustomDrawable"
android:color="#ffff0000" />
</li></ul>
<div class="special reference"><h3>Developer Guides</h3>
描画可能オブジェクトの使用方法の詳細については、 Canvas および Drawables 開発者ガイドを参照してください。 描画可能なリソース (コードに読み込むことができる XML ファイルまたはビットマップ ファイル) を作成する例については、 Drawable Resources ドキュメントを参照してください。
</部>
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| Drawable() | |
| Drawable(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Alpha |
描画可能な図形の現在のアルファ値を取得します。 |
| AutoMirrored |
レイアウト方向が RTL の右から左の場合に、この Drawable が自動的にミラー化されるかどうかを示します。 または、レイアウト方向が RTL (右から左) の場合に、この Drawable を自動的にミラー化するかどうかを設定します。 |
| Bounds |
Drawable の境界 Rect を返します。 または、Drawable の外接する四角形を指定します。 |
| Callback |
この Drawable にアタッチされている現在の |
| ChangingConfigurations |
この描画可能オブジェクトが変更される可能性がある構成パラメーターのマスクを返します。再作成する必要があります。 または、このドローアブルが変更される可能性がある構成パラメーターのマスクを設定し、再作成する必要があります。 |
| Class |
この |
| ColorFilter |
現在のカラー フィルターを返します。設定されていない場合は |
| Current | |
| DirtyBounds |
描画可能なダーティ 境界 Rect を返します。 |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| HasFocusStateSpecified |
この描画可能オブジェクトに、 |
| IntrinsicHeight |
描画可能な組み込みの高さを返します。 |
| IntrinsicWidth |
Drawable の組み込み幅を返します。 |
| IsFilterBitmap |
Drawable は、"描画できるもの" の一般的な抽象化です。 |
| IsProjected |
この描画可能な要求がプロジェクションを要求するかどうか。 |
| IsStateful |
この描画可能な描画が状態に基づいて外観を変更するかどうかを示します。 |
| IsVisible | |
| 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() | |
| ClearColorFilter() |
この描画可能な色フィルターを削除します。 |
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| CopyBounds() |
新しい Rect で描画可能な境界のコピーを返します。 |
| CopyBounds(Rect) |
指定した Rect (呼び出し元によって割り当てられた) 内の描画可能な境界のコピーを返します。 |
| CreateFromPath(String) |
ファイル パス名から描画可能なオブジェクトを作成します。 |
| CreateFromPathAsync(String) |
Drawable は、"描画できるもの" の一般的な抽象化です。 |
| CreateFromResourceStream(Resources, TypedValue, Stream, String, BitmapFactory+Options) |
指定されたリソースと値を使用して密度情報を決定し、入力ストリームから描画可能なオブジェクトを作成します。 |
| CreateFromResourceStream(Resources, TypedValue, Stream, String) |
指定されたリソースと値を使用して密度情報を決定し、入力ストリームから描画可能なオブジェクトを作成します。 |
| CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String, BitmapFactory+Options) |
Drawable は、"描画できるもの" の一般的な抽象化です。 |
| CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String) |
Drawable は、"描画できるもの" の一般的な抽象化です。 |
| CreateFromStream(Stream, String) |
入力ストリームから描画可能なオブジェクトを作成する |
| CreateFromStreamAsync(Stream, String) |
Drawable は、"描画できるもの" の一般的な抽象化です。 |
| CreateFromXml(Resources, XmlReader, Resources+Theme) |
XML ドキュメントからドローアブルを作成します。 |
| CreateFromXml(Resources, XmlReader) |
XML ドキュメントからドローアブルを作成します。 |
| CreateFromXmlAsync(Resources, XmlReader, Resources+Theme) |
Drawable は、"描画できるもの" の一般的な抽象化です。 |
| CreateFromXmlAsync(Resources, XmlReader) |
Drawable は、"描画できるもの" の一般的な抽象化です。 |
| CreateFromXmlInner(Resources, XmlReader, IAttributeSet, Resources+Theme) |
XML ドキュメント内から作成します。 |
| CreateFromXmlInner(Resources, XmlReader, IAttributeSet) |
XML ドキュメント内から作成します。 |
| Dispose() |
Drawable は、"描画できるもの" の一般的な抽象化です。 (継承元 Object) |
| Dispose(Boolean) |
Drawable は、"描画できるもの" の一般的な抽象化です。 (継承元 Object) |
| Draw(Canvas) |
アルファ (setAlpha で設定) やカラー フィルター (setColorFilter を使用して設定) などのオプションの効果を考慮して、境界 (setBounds を使用して設定) で描画します。 |
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| GetConstantState() |
この Drawable の共有状態を保持する |
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| GetHotspotBounds(Rect) |
ホットスポットの境界を |
| GetOutline(Outline) |
描画領域を定義するアウトラインを設定する描画可能オブジェクトを取得するために呼び出されます。 |
| GetPadding(Rect) |
描画可能オブジェクトの境界内にコンテンツを配置するために、この Drawable によって提案されるインセットを埋め込みで返します。 |
| GetState() |
現在の状態を、 |
| Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme) |
XML リソースからこの Drawable を拡張します。 |
| Inflate(Resources, XmlReader, IAttributeSet) |
XML リソースからこの Drawable を拡張します。 |
| InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Drawable は、"描画できるもの" の一般的な抽象化です。 |
| InflateAsync(Resources, XmlReader, IAttributeSet) |
Drawable は、"描画できるもの" の一般的な抽象化です。 |
| InvalidateSelf() |
現在の |
| 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) |
現在の |
| SetAlpha(Int32) |
描画可能な図形のアルファ値を指定します。 |
| SetBounds(Int32, Int32, Int32, Int32) |
Drawable の外接する四角形を指定します。 |
| SetCallback(Drawable+ICallback) |
|
| 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) |
現在の |
| 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() |
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) |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
Drawable は、"描画できるもの" の一般的な抽象化です。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|