Drawable Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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.View
un 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 24
A 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.
<com.myapp.MyCustomDrawable xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#ffff0000" />
</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.
<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>
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 |
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 |
ColorFilter |
Restituisce il filtro colore corrente o |
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 |
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, BitmapFactory+Options) |
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) |
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, BitmapFactory+Options) |
Un drawable è un'astrazione generale per "qualcosa che può essere disegnato. |
CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String) |
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, Resources+Theme) |
Creare un oggetto drawable da un documento XML. |
CreateFromXml(Resources, XmlReader) |
Creare un oggetto drawable da un documento XML. |
CreateFromXmlAsync(Resources, XmlReader, Resources+Theme) |
Un drawable è un'astrazione generale per "qualcosa che può essere disegnato. |
CreateFromXmlAsync(Resources, XmlReader) |
Un drawable è un'astrazione generale per "qualcosa che può essere disegnato. |
CreateFromXmlInner(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Crea dall'interno di un documento XML. |
CreateFromXmlInner(Resources, XmlReader, IAttributeSet) |
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 |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
GetHotspotBounds(Rect) |
Popola |
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 |
Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Gonfiare questo elemento drawable da una risorsa XML. |
Inflate(Resources, XmlReader, IAttributeSet) |
Gonfiare questo elemento drawable da una risorsa XML. |
InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Un drawable è un'astrazione generale per "qualcosa che può essere disegnato. |
InflateAsync(Resources, XmlReader, IAttributeSet) |
Un drawable è un'astrazione generale per "qualcosa che può essere disegnato. |
InvalidateSelf() |
Utilizzare l'implementazione corrente |
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 |
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 |
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 |
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, 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) |
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) |
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. |