Freigeben über


Drawable Klasse

Definition

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

[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
Vererbung
Drawable
Abgeleitet
Attribute

Hinweise

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann". Am häufigsten werden Sie mit Drawable umgehen, wenn der Typ der Ressource zum Zeichnen von Elementen auf dem Bildschirm abgerufen wird. Die Drawable-Klasse stellt eine generische API für den Umgang mit einer zugrunde liegenden visuellen Ressource bereit, die eine Vielzahl von Formen annehmen kann. Im Gegensatz zu einem android.view.ViewDrawable verfügt ein Drawable nicht über die Möglichkeit, Ereignisse zu empfangen oder anderweitig mit dem Benutzer zu interagieren.

Neben der einfachen Zeichnung bietet Drawable eine Reihe generischer Mechanismen für den Client, um mit dem zu interagieren, was gezeichnet wird:

<ul><li> The #setBounds method <var>must</var> be called to tell the Drawable where it is drawable and how large it should be be. Alle Drawables sollten die angeforderte Größe respektieren, oft einfach, indem sie ihre Bilder skalieren. Ein Client kann die bevorzugte Größe für einige Drawables mit den #getIntrinsicHeight methoden finden #getIntrinsicWidth .

<li> The #getPadding method can return from some Drawables information about how to frame content that is placed inside of them. Beispielsweise müsste ein Drawable-Element, das als Rahmen für ein Schaltflächen-Widget vorgesehen ist, einen Abstand zurückgeben, der die Beschriftung korrekt in sich selbst platziert.

<li> Die #setState Methode ermöglicht es dem Client, den Drawable-Zustand zu informieren, in dem er gezeichnet werden soll, z. B. "fokussiert", "ausgewählt" usw. Einige Drawables können ihre Bilder basierend auf dem ausgewählten Zustand ändern.

<li> Die #setLevel Methode ermöglicht es dem Client, einen einzelnen fortlaufenden Controller zu liefern, der die Drawable ändern kann, z. B. einen Akkustand oder einen Fortschrittsgrad. Einige Drawables können ihre Bilder basierend auf der aktuellen Ebene ändern.

<li> A Drawable kann Animationen ausführen, indem sie über die Callback Schnittstelle zurück zum Client aufrufen. Alle Clients sollten diese Schnittstelle (via #setCallback) unterstützen, damit Animationen funktionieren. Eine einfache Möglichkeit, dies zu tun, ist durch die Systemeinrichtungen wie android.view.View#setBackground(Drawable) und android.widget.ImageView. </ul>

In der Regel jedoch nicht für die Anwendung sichtbar, kann Drawables eine Vielzahl von Formen annehmen:

<ul><li><b>Bitmap</b>: das einfachste Drawable-Objekt, ein PNG- oder JPEG-Bild. <li><b>Nine Patch</b>: Eine Erweiterung des PNG-Formats ermöglicht es, Informationen darüber anzugeben, wie sie gestreckt und Elemente darin platziert werden. <li><b>Vector</b>: eine zeichnungsfähige, in einer XML-Datei als Satz von Punkten, Linien und Kurven zusammen mit den zugehörigen Farbinformationen definiert. Diese Art von zeichnungsfähig kann ohne Verlust der Anzeigequalität skaliert werden. <li><b>Shape</b>: enthält einfache Zeichnungsbefehle anstelle einer unformatierten Bitmap, sodass sie in einigen Fällen besser angepasst werden kann. <li><b>Layers</b>: eine zusammengesetzte Zeichnung, die mehrere zugrunde liegende Drawables übereinander zeichnet. <li><b>States</b>: eine zusammengesetzte Zeichnung, die einen von einer Reihe von Zeichnungsarten basierend auf ihrem Zustand auswählt. <li><b>Ebenen</b>: eine zusammengesetzte Zeichnungsmenge, die einen von einer Reihe von Drawables basierend auf seiner Ebene auswählt. <li><b>Scale</b>: eine Zusammengesetzte zeichnungsfähig mit einem einzelnen untergeordneten Zeichnungsformat, dessen Gesamtgröße basierend auf der aktuellen Ebene geändert wird. </ul>

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

In allen Android-Versionen kann die Drawable-Klasse erweitert und zur Laufzeit anstelle von vom Framework bereitgestellten drawable-Klassen verwendet werden. Beginnend in android.os.Build.VERSION_CODES#N API 24, können benutzerdefinierte Drawables-Klassen auch in XML verwendet werden.

<strong>Note:</strong> Custom drawable classes are only accessible from within your application package. Andere Anwendungen können sie nicht laden.

Mindestens müssen benutzerdefinierte zeichenfähige Klassen die abstrakten Methoden für Drawable implementieren und die Methode zum Zeichnen von Drawable#draw(Canvas) Inhalten überschreiben.

Benutzerdefinierte Drawables-Klassen können in XML auf mehrere Arten verwendet werden: <ul><li> Verwendung des vollqualifizierten Klassennamens als XML-Elementname. Bei dieser Methode muss es sich bei der benutzerdefinierten drawable-Klasse um eine öffentliche Klasse auf oberster Ebene handeln.

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

</li li>>< Using <em>drawable</em> as the XML element name and specifying the fully-qualified class name from the <em>class</em> attribute. Diese Methode kann sowohl für öffentliche Klassen der obersten Ebene als auch für öffentliche statische innere Klassen verwendet werden.

&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>

Weitere Informationen zur Verwendung von Drawables finden Sie im Entwicklerhandbuch für Canvas und Drawables . Informationen und Beispiele zum Erstellen von zeichnungsfähigen Ressourcen (XML- oder Bitmapdateien, die im Code geladen werden können) finden Sie im Dokument "Drawable Resources ".

</Div>

Java-Dokumentation für android.graphics.drawable.Drawable.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Drawable()

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

Drawable(IntPtr, JniHandleOwnership)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen.

Eigenschaften

Alpha

Ruft den aktuellen Alphawert für die zeichnungsfähige Ab.

AutoMirrored

Gibt an, ob diese Zeichnung automatisch gespiegelt wird, wenn die Layoutrichtung von rechts nach links von rechts nach links ist. -oder- Legen Sie fest, ob diese Zeichnung automatisch gespiegelt wird, wenn die Layoutrichtung "RECHTS nach links" ist.

Bounds

Gibt die Begrenzungen des Rect-Werts zurück. -oder- Geben Sie ein umgebendes Rechteck für das Drawable-Shape an.

Callback

Gibt die aktuelle Callback Implementierung zurück, die dieser Drawable zugeordnet ist.

ChangingConfigurations

Geben Sie eine Maske der Konfigurationsparameter zurück, für die sich diese zeichnungsfähig ändern kann, sodass sie neu erstellt werden muss. -or- Legen Sie eine Maske der Konfigurationsparameter fest, für die sich diese zeichnungsfähig ändern kann, sodass sie neu erstellt werden muss.

Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
ColorFilter

Gibt den aktuellen Farbfilter zurück oder null wenn keines festgelegt ist.

Current

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

DirtyBounds

Zurückgeben der schmutzigen Begrenzungen der Zeichnungsfunktion rect.

Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
HasFocusStateSpecified

Gibt an, ob diese zeichnungsfähige Eigenschaft mindestens eine Zustandsspezifikation explizit angibt android.R.attr#state_focused.

IntrinsicHeight

Gibt die systeminterne Höhe der Zeichnungsgröße zurück.

IntrinsicWidth

Gibt die systeminterne Breite der Zeichnungsgröße zurück.

IsFilterBitmap

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

IsProjected

Gibt an, ob diese zeichnungsfähige Anforderungsprojektion anfordert.

IsStateful

Gibt an, ob diese zeichnungsfähige Eigenschaft die Darstellung basierend auf dem Zustand ändert.

IsVisible

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

JniIdentityHashCode

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)
JniPeerMembers

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

LayoutDirection

Gibt die aufgelöste Layoutrichtung für diese Drawable zurück.

Level

Rufen Sie die aktuelle Ebene ab.

MinimumHeight

Gibt die mindesthöhe zurück, die von diesem Drawable vorgeschlagen wird.

MinimumWidth

Gibt die von dieser Drawable vorgeschlagene Mindestbreite zurück.

Opacity

Gibt die Deckkraft/Transparenz dieses Drawable-Werts zurück.

OpticalInsets

Gibt die layouteinsets zurück, die von diesem Drawable zur Verwendung mit Ausrichtungsvorgängen während des Layouts vorgeschlagen werden.

PeerReference

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

TransparentRegion

Gibt einen Bereich zurück, der den Teil des Drawable-Objekts darstellt, der vollständig transparent ist.

Methoden

ApplyTheme(Resources+Theme)

Wendet das angegebene Design auf dieses Zeichnungselement und dessen untergeordnete Elemente an.

CanApplyTheme()

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

ClearColorFilter()

Entfernt den Farbfilter für diese zeichnungsfähige Datei.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
CopyBounds()

Zurückgeben einer Kopie der Grenzen der Zeichnungsfunktion in einem neuen Rect.

CopyBounds(Rect)

Zurückgeben einer Kopie der Grenzen der Zeichnungsfunktion im angegebenen Rect (zugewiesen durch den Aufrufer).

CreateFromPath(String)

Erstellen Sie einen zeichnungsfähigen Namen aus dem Dateinamen.

CreateFromPathAsync(String)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

CreateFromResourceStream(Resources, TypedValue, Stream, String)

Erstellen Sie mit den angegebenen Ressourcen und Werten eine Zeichnung aus einem Eingabestream, um Dichteinformationen zu ermitteln.

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

Erstellen Sie mit den angegebenen Ressourcen und Werten eine Zeichnung aus einem Eingabestream, um Dichteinformationen zu ermitteln.

CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

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

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

CreateFromStream(Stream, String)

Erstellen eines Drawables aus einem Eingabestream

CreateFromStreamAsync(Stream, String)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

CreateFromXml(Resources, XmlReader)

Erstellen Sie aus einem XML-Dokument eine Zeichnung.

CreateFromXml(Resources, XmlReader, Resources+Theme)

Erstellen Sie aus einem XML-Dokument eine Zeichnung.

CreateFromXmlAsync(Resources, XmlReader)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

CreateFromXmlAsync(Resources, XmlReader, Resources+Theme)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

CreateFromXmlInner(Resources, XmlReader, IAttributeSet)

Erstellen Aus einem XML-Dokument heraus.

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

Erstellen Aus einem XML-Dokument heraus.

Dispose()

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)
Dispose(Boolean)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)
Draw(Canvas)

Zeichnen Sie in ihren Grenzen (set via setBounds), die optionale Effekte wie Alpha (über setAlpha festgelegt) und Farbfilter (über setColorFilter festgelegt) respektieren.

Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
GetConstantState()

Gibt eine ConstantState Instanz zurück, die den freigegebenen Zustand dieses Drawable-Werts enthält.

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
GetHotspotBounds(Rect)

Füllt outRect mit den Hotspotgrenzen auf.

GetOutline(Outline)

Wird aufgerufen, um die Zeichnungsfläche zum Auffüllen der Gliederung abzurufen, die den Zeichnungsbereich definiert.

GetPadding(Rect)

Zurückgeben im Abstand der von diesem Drawable vorgeschlagenen Einsets zum Platzieren von Inhalten innerhalb der Grenzen des Zeichenbereichs.

GetState()

Beschreibt den aktuellen Zustand als Eine Vereinigung von Primitve-Staaten, wie android.R.attr#state_focusedz. B. , android.R.attr#state_selectedusw.

Inflate(Resources, XmlReader, IAttributeSet)

Aufblasen Sie diese Drawable aus einer XML-Ressource.

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

Aufblasen Sie diese Drawable aus einer XML-Ressource.

InflateAsync(Resources, XmlReader, IAttributeSet)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

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

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

InvalidateSelf()

Verwenden Sie die aktuelle Callback Implementierung, um diese drawable redrawn zu lassen.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
JumpToCurrentState()

Wenn diese Drawable-Funktion Animationen zwischen Zuständen durchführt, bitten Sie, sofort zum aktuellen Zustand zu springen und aktive Animationen zu überspringen.

Mutate()

Machen Sie diesen ziehbaren änderbaren Änderbar.

Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
OnBoundsChange(Rect)

Überschreiben Sie dies in Ihrer Unterklasse, um die Darstellung zu ändern, wenn Sie je nach den Grenzen variieren.

OnLayoutDirectionChanged(Int32)

Wird aufgerufen, wenn sich die aufgelöste Layoutrichtung des Zeichnungsables ändert.

OnLevelChange(Int32)

Überschreiben Sie dies in Ihrer Unterklasse, um die Darstellung zu ändern, wenn Sie je nach Ebene variieren.

OnStateChange(Int32[])

Überschreiben Sie dies in Ihrer Unterklasse, um die Darstellung zu ändern, wenn Sie den angegebenen Zustand erkennen.

ResolveOpacity(Int32, Int32)

Gibt den entsprechenden Deckkraftwert für zwei Quellopacities zurück.

ScheduleSelf(Action, Int64)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

ScheduleSelf(IRunnable, Int64)

Verwenden Sie die aktuelle Callback Implementierung, damit diese Drawable geplant ist.

SetAlpha(Int32)

Geben Sie einen Alphawert für die Zeichnung an.

SetBounds(Int32, Int32, Int32, Int32)

Geben Sie ein umgebendes Rechteck für das Drawable-Shape an.

SetCallback(Drawable+ICallback)

Binden sie ein Callback Objekt an diese Drawable-Datei.

SetColorFilter(Color, PorterDuff+Mode)

Geben Sie einen Farb- und Porter-Duff-Modus als Farbfilter für diese Zeichnung an.

SetColorFilter(ColorFilter)

Geben Sie einen optionalen Farbfilter für die Zeichnung an.

SetDither(Boolean)

Legen Sie "true" fest, damit die gezeichneten Farben beim Zeichnen auf ein Gerät mit weniger als 8 Bit pro Farbkomponente gezeichnet werden.

SetFilterBitmap(Boolean)

Legen Sie "true" fest, damit der zeichnungsfähige Filter seine Bitmaps mit bilinearen Samplings beim Skalieren oder Drehen aufweist.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetHotspot(Single, Single)

Gibt die Position des Hotspots innerhalb der Zeichnung an.

SetHotspotBounds(Int32, Int32, Int32, Int32)

Legt die Grenzen fest, an die der Hotspot beschränkt ist, wenn sie sich von den ziehbaren Grenzen unterscheiden sollen.

SetLayoutDirection(LayoutDirection)

Legen Sie die Layoutrichtung für diese zeichnungsfähige Eigenschaft fest.

SetLevel(Int32)

Geben Sie die Ebene für die Zeichnung an.

SetState(Int32[])

Geben Sie einen Satz von Zuständen für die Zeichnungsmenge an.

SetTint(Int32)

Gibt die Farbtonfarbe für diese zeichnungsfähige Farbe an.

SetTintBlendMode(BlendMode)

Gibt einen Farbtonmischungsmodus für diesen zeichnungsfähigen Modus an.

SetTintList(ColorStateList)

Gibt Farbtonfarbe für diese Zeichnung als Farbzustandsliste an.

SetTintMode(PorterDuff+Mode)

Gibt einen Farbtonmischungsmodus für diesen zeichnungsfähigen Modus an.

SetVisible(Boolean, Boolean)

Legen Sie fest, ob diese Drawable-Eigenschaft sichtbar ist.

ToArray<T>()

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)
UnscheduleSelf(Action)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

UnscheduleSelf(IRunnable)

Verwenden Sie die aktuelle Callback Implementierung, um diese drawable nicht geplant zu haben.

Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em> oder <em>unterbrochen</em>.<><

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IJavaPeerable.Disposed()

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)
IJavaPeerable.Finalized()

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

GetJniTypeName(IJavaPeerable)

Ein Drawable ist eine allgemeine Abstraktion für "etwas, das gezeichnet werden kann.

Gilt für: