Condividi tramite


Drawable Classe

Definizione

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

[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
Ereditarietà
Drawable
Derivato
Attributi

Commenti

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato". Molto spesso si tratta di Drawable come tipo di risorsa recuperata per disegnare elementi sullo schermo; La classe Drawable fornisce un'API generica per gestire una risorsa visiva sottostante che può assumere diverse forme. A differenza di , android.view.Viewun oggetto Drawable non dispone di alcuna funzionalità per ricevere eventi o interagire in altro modo con l'utente.

Oltre a un semplice disegno, Drawable fornisce una serie di meccanismi generici che consentono al client di interagire con ciò che viene disegnato:

<ul><li> Il #setBounds metodo <var>deve</var> essere chiamato per indicare all'oggetto Drawable dove viene disegnato e quanto deve essere grande. Tutti i drawable devono rispettare le dimensioni richieste, spesso semplicemente ridimensionando le proprie immagini. Un client può trovare le dimensioni preferite per alcuni elementi Drawable con i #getIntrinsicHeight metodi e #getIntrinsicWidth .

<li> Il #getPadding metodo può restituire da alcune informazioni drawables su come incorniciare il contenuto inserito all'interno di essi. Ad esempio, un elemento Drawable destinato a essere il frame per un widget pulsante deve restituire la spaziatura interna che inserisce correttamente l'etichetta all'interno di se stessa.

<li> Il #setState metodo consente al client di indicare all'oggetto Drawable in quale stato deve essere disegnato, ad esempio "con stato attivo", "selezionato" e così via. Alcuni elementi drawable possono modificare le immagini in base allo stato selezionato.

<li> Il #setLevel metodo consente al client di fornire un singolo controller continuo in grado di modificare l'oggetto Drawable viene visualizzato, ad esempio un livello di batteria o di avanzamento. Alcuni elementi drawable possono modificare le immagini in base al livello corrente.

<li> A Drawable può eseguire animazioni richiamando il client tramite l'interfaccia Callback . Tutti i client devono supportare questa interfaccia (tramite #setCallback) in modo che le animazioni funzionino. Un modo semplice per eseguire questa operazione consiste nell'usare le strutture di sistema come android.view.View#setBackground(Drawable) e android.widget.ImageView. </ul>

Anche se in genere non è visibile all'applicazione, i drawable possono assumere una varietà di forme:

<ul><li><b>Bitmap</b>: il disegno più semplice, un'immagine PNG o JPEG. <li><b>Nine Patch</b>: un'estensione del formato PNG consente di specificare informazioni su come estenderlo e posizionare le cose all'interno di esso. <li><b Vector</b>>: un oggetto drawable definito in un file XML come set di punti, linee e curve insieme alle informazioni sul colore associate. Questo tipo di disegnabile può essere ridimensionato senza perdita di qualità dello schermo. <li><b Shape</b>>: contiene semplici comandi di disegno invece di una bitmap non elaborata, consentendogli di ridimensionare meglio in alcuni casi. <li><b>Layers</b>: un composto disegnabile, che disegna più disegnare sottostanti l'uno sopra l'altro. <li><b States</b>>: un composto drawable che seleziona uno di un set di drawable in base al relativo stato. <li><b>Levels</b>: un composto drawable che seleziona uno di un set di drawable in base al suo livello. <li><b>Scale</b>: un composto disegnabile con un singolo elemento figlio disegnabile, la cui dimensione complessiva viene modificata in base al livello corrente. </ul>

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

Tutte le versioni di Android consentono l'estensione e l'uso della classe Drawable in fase di esecuzione al posto delle classi drawable fornite dal framework. android.os.Build.VERSION_CODES#N API 24A partire da , le classi disegnabili personalizzate possono essere usate anche in XML.

<strong>Note:</strong> Classi disegnabili personalizzate sono accessibili solo dall'interno del pacchetto dell'applicazione. Altre applicazioni non saranno in grado di caricarle.

Come minimo, le classi disegnabili personalizzate devono implementare i metodi astratti in Drawable ed eseguire l'override del Drawable#draw(Canvas) metodo per disegnare il contenuto.

Le classi di disegno personalizzate possono essere usate in XML in diversi modi: <ul><li> Utilizzando il nome completo della classe come nome dell'elemento XML. Per questo metodo, la classe disegnabile personalizzata deve essere una classe di primo livello pubblico.

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

</li><li> Using <em>drawable</em> come nome dell'elemento XML e specificando il nome completo della classe dall'attributo <em>class</em> . Questo metodo può essere usato sia per le classi di primo livello pubblico che per le classi interne statiche pubbliche.

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

Per altre informazioni su come usare i drawable, vedere la guida per sviluppatori Canvas e Drawables . Per informazioni ed esempi di creazione di risorse disegnabili (file XML o bitmap che possono essere caricati nel codice), leggere il documento Risorse disegnabili.

</Div>

Documentazione java per android.graphics.drawable.Drawable.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Costruttori

Drawable()

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

Drawable(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Proprietà

Alpha

Ottiene il valore alfa corrente per l'oggetto drawable.

AutoMirrored

Indica se l'oggetto Drawable verrà automaticamente sottoposto a mirroring quando la direzione del layout è RTL da destra a sinistra. -oppure- Imposta se questa proprietà Drawable viene automaticamente con mirroring quando la direzione del layout è RTL (da destra a sinistra).

Bounds

Restituisce i limiti dell'oggetto drawable Rect. -oppure- Specificare un rettangolo di delimitazione per l'oggetto Drawable.

Callback

Restituisce l'implementazione corrente Callback associata a questo oggetto Drawable.

ChangingConfigurations

Restituisce una maschera dei parametri di configurazione per i quali può cambiare questo elemento drawable, richiedendo che venga ricreato. -oppure- Impostare una maschera dei parametri di configurazione per i quali questa modifica può essere modificata, richiedendo che venga ricreata.

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
ColorFilter

Restituisce il filtro colore corrente o null se non è impostato alcun valore.

Current

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

DirtyBounds

Restituisce i limiti sporchi dell'oggetto disegnabile Rect.

Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
HasFocusStateSpecified

Indica se questo oggetto drawable ha almeno una specifica di stato che specifica in modo esplicito android.R.attr#state_focused.

IntrinsicHeight

Restituisce l'altezza intrinseca dell'oggetto drawable.

IntrinsicWidth

Restituisce la larghezza intrinseca dell'oggetto drawable.

IsFilterBitmap

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

IsProjected

Indica se questa proiezione di richieste disegnabili.

IsStateful

Indica se questo elemento drawable cambierà l'aspetto in base allo stato.

IsVisible

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

JniIdentityHashCode

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)
JniPeerMembers

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

LayoutDirection

Restituisce la direzione del layout risolto per questo elemento Drawable.

Level

Recuperare il livello corrente.

MinimumHeight

Restituisce l'altezza minima suggerita da questo oggetto Drawable.

MinimumWidth

Restituisce la larghezza minima suggerita da questo oggetto Drawable.

Opacity

Restituisce l'opacità/trasparenza di questo elemento Drawable.

OpticalInsets

Restituisce in imposta gli inset di layout suggeriti da questo elemento Drawable per l'uso con operazioni di allineamento durante il layout.

PeerReference

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

TransparentRegion

Restituisce un'area che rappresenta la parte dell'oggetto Drawable completamente trasparente.

Metodi

ApplyTheme(Resources+Theme)

Applica il tema specificato a questo elemento Drawable e ai relativi elementi figlio.

CanApplyTheme()

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

ClearColorFilter()

Rimuove il filtro colori per questo elemento disegnabile.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
CopyBounds()

Restituisce una copia dei limiti di drawable in un nuovo rect.

CopyBounds(Rect)

Restituisce una copia dei limiti dell'oggetto drawable nell'oggetto Rect specificato (allocato dal chiamante).

CreateFromPath(String)

Creare un elemento drawable dal nome del percorso del file.

CreateFromPathAsync(String)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

CreateFromResourceStream(Resources, TypedValue, Stream, String)

Creare un oggetto drawable da un flusso di input usando le risorse e il valore specificati per determinare le informazioni sulla densità.

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

Creare un oggetto drawable da un flusso di input usando le risorse e il valore specificati per determinare le informazioni sulla densità.

CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

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

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

CreateFromStream(Stream, String)

Creare un oggetto drawable da un flusso di input

CreateFromStreamAsync(Stream, String)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

CreateFromXml(Resources, XmlReader)

Creare un oggetto drawable da un documento XML.

CreateFromXml(Resources, XmlReader, Resources+Theme)

Creare un oggetto drawable da un documento XML.

CreateFromXmlAsync(Resources, XmlReader)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

CreateFromXmlAsync(Resources, XmlReader, Resources+Theme)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

CreateFromXmlInner(Resources, XmlReader, IAttributeSet)

Crea dall'interno di un documento XML.

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

Crea dall'interno di un documento XML.

Dispose()

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)
Dispose(Boolean)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)
Draw(Canvas)

Disegnare nei limiti (impostati tramite setBounds) rispettando gli effetti facoltativi, ad esempio alfa (impostato tramite setAlpha) e il filtro colore (impostato tramite setColorFilter).

Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
GetConstantState()

Restituisce un'istanza ConstantState che contiene lo stato condiviso di questo oggetto Drawable.

GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
GetHotspotBounds(Rect)

Popola outRect con i limiti dell'hotspot.

GetOutline(Outline)

Chiamato per ottenere l'elemento drawable per popolare l'oggetto Outline che ne definisce l'area di disegno.

GetPadding(Rect)

Restituisce in spaziatura interna gli inset suggeriti da questo elemento Drawable per posizionare il contenuto all'interno dei limiti di drawable.

GetState()

Descrive lo stato corrente, come unione di stati primitve, ad esempio android.R.attr#state_focused, android.R.attr#state_selectede così via.

Inflate(Resources, XmlReader, IAttributeSet)

Gonfiare questo elemento drawable da una risorsa XML.

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

Gonfiare questo elemento drawable da una risorsa XML.

InflateAsync(Resources, XmlReader, IAttributeSet)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

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

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

InvalidateSelf()

Utilizzare l'implementazione corrente Callback per fare in modo che questo elemento drawable sia ridisegnato.

JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
JumpToCurrentState()

Se l'oggetto Drawable esegue la transizione delle animazioni tra gli stati, chiedere di passare immediatamente allo stato corrente e ignorare le animazioni attive.

Mutate()

Rendere questa modifica modificabile disegnabile.

Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
OnBoundsChange(Rect)

Eseguire l'override di questa impostazione nella sottoclasse per modificare l'aspetto se si modifica in base ai limiti.

OnLayoutDirectionChanged(Int32)

Chiamato quando cambia la direzione del layout risolto dell'oggetto drawable.

OnLevelChange(Int32)

Eseguire l'override di questa impostazione nella sottoclasse per modificare l'aspetto se si modifica in base al livello.

OnStateChange(Int32[])

Eseguire l'override di questa classe nella sottoclasse per modificare l'aspetto se si riconosce lo stato specificato.

ResolveOpacity(Int32, Int32)

Restituisce il valore di opacità appropriato per due opacità di origine.

ScheduleSelf(Action, Int64)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

ScheduleSelf(IRunnable, Int64)

Utilizzare l'implementazione corrente Callback per fare in modo che questo elemento drawable sia pianificato.

SetAlpha(Int32)

Specificare un valore alfa per l'oggetto drawable.

SetBounds(Int32, Int32, Int32, Int32)

Specificare un rettangolo di delimitazione per Drawable.

SetCallback(Drawable+ICallback)

Associare un Callback oggetto a questo oggetto Drawable.

SetColorFilter(Color, PorterDuff+Mode)

Specificare un colore e la modalità Porter-Duff in modo che sia il filtro colori per questo disegnabile.

SetColorFilter(ColorFilter)

Specificare un filtro colore facoltativo per l'elemento drawable.

SetDither(Boolean)

Impostare su true per fare in modo che il ditherable disegnabile quando viene disegnato in un dispositivo con meno di 8 bit per ogni componente di colore.

SetFilterBitmap(Boolean)

Impostare su true per fare in modo che il filtro disegnabile le bitmap con campionamento bilineare quando vengono ridimensionate o ruotate.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetHotspot(Single, Single)

Specifica la posizione dell'hotspot all'interno dell'oggetto drawable.

SetHotspotBounds(Int32, Int32, Int32, Int32)

Imposta i limiti a cui è vincolato l'hotspot, se devono essere diversi dai limiti disegnabili.

SetLayoutDirection(LayoutDirection)

Impostare la direzione del layout per questo elemento disegnabile.

SetLevel(Int32)

Specificare il livello per l'elemento drawable.

SetState(Int32[])

Specificare un set di stati per l'oggetto drawable.

SetTint(Int32)

Specifica il colore della tinta per questo elemento disegnabile.

SetTintBlendMode(BlendMode)

Specifica una modalità di fusione della tinta per questo elemento drawable.

SetTintList(ColorStateList)

Specifica il colore della tinta per questo elemento disegnabile come elenco di stati colore.

SetTintMode(PorterDuff+Mode)

Specifica una modalità di fusione della tinta per questo elemento drawable.

SetVisible(Boolean, Boolean)

Impostare se l'oggetto Drawable è visibile.

ToArray<T>()

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)
UnscheduleSelf(Action)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

UnscheduleSelf(IRunnable)

Utilizzare l'implementazione corrente Callback per fare in modo che questo elemento Drawable non venga programmato.

Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)
IJavaPeerable.Finalized()

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

GetJniTypeName(IJavaPeerable)

Un drawable è un'astrazione generale per "qualcosa che può essere disegnato.

Si applica a