Compartir a través de


Drawable Clase

Definición

Drawable es una abstracción general para "algo que se puede dibujar.

[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
Herencia
Drawable
Derivado
Atributos

Comentarios

Drawable es una abstracción general para "algo que se puede dibujar". La mayoría de las veces trataremos con Drawable como el tipo de recurso recuperado para dibujar cosas en la pantalla; La clase Drawable proporciona una API genérica para tratar con un recurso visual subyacente que puede adoptar una variedad de formas. A diferencia de , un android.view.Viewobjeto Drawable no tiene ninguna instalación para recibir eventos o interactuar con el usuario de otro modo.

Además del dibujo simple, Drawable proporciona una serie de mecanismos genéricos para que su cliente interactúe con lo que se está dibujando:

<ul><li> El #setBounds método <var>debe< llamarse> a para indicar al dibujable dónde se dibuja y el tamaño que debe tener. Todos los drawables deben respetar el tamaño solicitado, a menudo simplemente escalando sus imágenes. Un cliente puede encontrar el tamaño preferido para algunos drawables con los #getIntrinsicHeight métodos y #getIntrinsicWidth .

<li> El #getPadding método puede devolver de alguna información drawables sobre cómo enmarcar el contenido que se coloca dentro de ellos. Por ejemplo, un drawable que está pensado para ser el marco de un widget de botón tendría que devolver relleno que coloca correctamente la etiqueta dentro de sí misma.

<li> El #setState método permite al cliente indicar al drawable en qué estado se va a dibujar, como "centrado", "seleccionado", etc. Algunos dibujables pueden modificar sus imágenes en función del estado seleccionado.

<li> El #setLevel método permite al cliente suministrar un único controlador continuo que pueda modificar el drawable, como un nivel de batería o un nivel de progreso. Algunos dibujables pueden modificar sus imágenes en función del nivel actual.

<li> A Drawable puede realizar animaciones llamando de nuevo a su cliente a través de la Callback interfaz . Todos los clientes deben admitir esta interfaz (a través #setCallbackde ) para que las animaciones funcionen. Una manera sencilla de hacerlo es a través de las instalaciones del sistema como android.view.View#setBackground(Drawable) y android.widget.ImageView. </ul>

Aunque normalmente no es visible para la aplicación, drawables puede adoptar una variedad de formas:

<ul><li><b>Mapa de bits</b>: la imagen más sencilla dibujable, PNG o JPEG. <li><b>Nine Patch</b>: una extensión al formato PNG le permite especificar información sobre cómo estirarla y colocar las cosas dentro de ella. <li><b>Vector</b>: un elemento dibujable definido en un archivo XML como un conjunto de puntos, líneas y curvas junto con su información de color asociada. Este tipo de dibujable se puede escalar sin pérdida de calidad de pantalla. <li><b>Shape</b>: contiene comandos de dibujo simples en lugar de un mapa de bits sin formato, lo que le permite cambiar el tamaño mejor en algunos casos. <li><b>Layers</b>: un compuesto dibujable, que dibuja varios dibujables subyacentes encima de los demás. <li><b>States</b>: un compuesto dibujable que selecciona uno de un conjunto de drawables en función de su estado. <li><b>Levels</b>: un compuesto dibujable que selecciona uno de un conjunto de drawables en función de su nivel. <li><b>Scale</b>: un compuesto dibujable con un solo elemento secundario dibujable, cuyo tamaño general se modifica en función del nivel actual. </ul>

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

Todas las versiones de Android permiten ampliar y usar la clase Drawable en tiempo de ejecución en lugar de clases dibujables proporcionadas por el marco. A partir de android.os.Build.VERSION_CODES#N API 24, las clases dibujables personalizadas también se pueden usar en XML.

<strong>Note:</strong> Custom drawable classes are only accessible from within your application package. Otras aplicaciones no podrán cargarlas.

Como mínimo, las clases dibujables personalizadas deben implementar los métodos abstractos en Drawable y deben invalidar el Drawable#draw(Canvas) método para dibujar contenido.

Las clases dibujables personalizadas se pueden usar en XML de varias maneras: <ul><li> Mediante el nombre de clase completo como nombre del elemento XML. Para este método, la clase dibujable personalizada debe ser una clase pública de nivel superior.

&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. Este método se puede usar tanto para clases públicas de nivel superior como para clases internas estáticas públicas.

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

Para obtener más información sobre cómo usar drawables, lea la guía para desarrolladores Canvas y Drawables . Para obtener información y ejemplos de creación de recursos dibujables (archivos XML o de mapa de bits que se pueden cargar en el código), lea el documento Recursos dibujables.

</Div>

Documentación de Java para android.graphics.drawable.Drawable.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Constructores

Drawable()

Drawable es una abstracción general para "algo que se puede dibujar.

Drawable(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

Propiedades

Alpha

Obtiene el valor alfa actual para el dibujable.

AutoMirrored

Indica si este objeto Drawable se reflejará automáticamente cuando su dirección de diseño sea RTL de derecha a izquierda. -o bien- Establecer si este drawable se refleja automáticamente cuando su dirección de diseño es RTL (de derecha a izquierda).

Bounds

Devuelve los límites dibujables Rect. -o bien- Especifique un rectángulo delimitador para drawable.

Callback

Devuelve la implementación actual Callback adjunta a este drawable.

ChangingConfigurations

Devuelve una máscara de los parámetros de configuración para los que este dibujable puede cambiar, lo que requiere que se vuelva a crear. -o bien- Establecer una máscara de los parámetros de configuración para los que este dibujable puede cambiar, lo que requiere que se vuelva a crear.

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
ColorFilter

Devuelve el filtro de color actual o null si no se establece ninguno.

Current

Drawable es una abstracción general para "algo que se puede dibujar.

DirtyBounds

Devuelve los límites sucios de Rect del dibujable.

Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
HasFocusStateSpecified

Indica si este drawable tiene al menos una especificación de estado que especifica android.R.attr#state_focusedexplícitamente .

IntrinsicHeight

Devuelve el alto intrínseco del dibujable.

IntrinsicWidth

Devuelve el ancho intrínseco del dibujable.

IsFilterBitmap

Drawable es una abstracción general para "algo que se puede dibujar.

IsProjected

Indica si esta proyección de solicitudes dibujables.

IsStateful

Indica si este dibujable cambiará su apariencia en función del estado.

IsVisible

Drawable es una abstracción general para "algo que se puede dibujar.

JniIdentityHashCode

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)
JniPeerMembers

Drawable es una abstracción general para "algo que se puede dibujar.

LayoutDirection

Devuelve la dirección de diseño resuelta para este drawable.

Level

Recupere el nivel actual.

MinimumHeight

Devuelve el alto mínimo sugerido por este objeto Drawable.

MinimumWidth

Devuelve el ancho mínimo sugerido por este drawable.

Opacity

Devuelve la opacidad/transparencia de este drawable.

OpticalInsets

Devuelve en conjuntos los conjuntos de diseño sugeridos por este Drawable para su uso con operaciones de alineación durante el diseño.

PeerReference

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

TransparentRegion

Devuelve una región que representa la parte del objeto Drawable que es completamente transparente.

Métodos

ApplyTheme(Resources+Theme)

Aplica el tema especificado a este drawable y sus elementos secundarios.

CanApplyTheme()

Drawable es una abstracción general para "algo que se puede dibujar.

ClearColorFilter()

Quita el filtro de color para este dibujable.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
CopyBounds()

Devuelve una copia de los límites del dibujable en un nuevo rectángulo.

CopyBounds(Rect)

Devuelve una copia de los límites del objeto dibujable en el rectángulo especificado (asignado por el autor de la llamada).

CreateFromPath(String)

Cree un elemento dibujable a partir del nombre de la ruta de acceso del archivo.

CreateFromPathAsync(String)

Drawable es una abstracción general para "algo que se puede dibujar.

CreateFromResourceStream(Resources, TypedValue, Stream, String)

Cree un elemento dibujable a partir de una secuencia de entrada, utilizando los recursos y el valor especificados para determinar la información de densidad.

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

Cree un elemento dibujable a partir de una secuencia de entrada, utilizando los recursos y el valor especificados para determinar la información de densidad.

CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String)

Drawable es una abstracción general para "algo que se puede dibujar.

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

Drawable es una abstracción general para "algo que se puede dibujar.

CreateFromStream(Stream, String)

Creación de un elemento dibujable a partir de una secuencia de entrada

CreateFromStreamAsync(Stream, String)

Drawable es una abstracción general para "algo que se puede dibujar.

CreateFromXml(Resources, XmlReader)

Cree un elemento dibujable a partir de un documento XML.

CreateFromXml(Resources, XmlReader, Resources+Theme)

Cree un elemento dibujable a partir de un documento XML.

CreateFromXmlAsync(Resources, XmlReader)

Drawable es una abstracción general para "algo que se puede dibujar.

CreateFromXmlAsync(Resources, XmlReader, Resources+Theme)

Drawable es una abstracción general para "algo que se puede dibujar.

CreateFromXmlInner(Resources, XmlReader, IAttributeSet)

Cree desde dentro de un documento XML.

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

Cree desde dentro de un documento XML.

Dispose()

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)
Dispose(Boolean)

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)
Draw(Canvas)

Dibuje en sus límites (establecido a través de setBounds) respetando efectos opcionales como alfa (establecido a través de setAlpha) y filtro de color (establecido a través de setColorFilter).

Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetConstantState()

Devuelve una ConstantState instancia que contiene el estado compartido de este drawable.

GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
GetHotspotBounds(Rect)

outRect Se rellena con los límites de zona activa.

GetOutline(Outline)

Se llama para obtener el objeto dibujable para rellenar el contorno que define su área de dibujo.

GetPadding(Rect)

Vuelva al relleno de los conjuntos sugeridos por este drawable para colocar contenido dentro de los límites del dibujable.

GetState()

Describe el estado actual, como una unión de estados primitve, como android.R.attr#state_focused, android.R.attr#state_selected, etc.

Inflate(Resources, XmlReader, IAttributeSet)

Infla esto dibujable a partir de un recurso XML.

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

Infla esto dibujable a partir de un recurso XML.

InflateAsync(Resources, XmlReader, IAttributeSet)

Drawable es una abstracción general para "algo que se puede dibujar.

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

Drawable es una abstracción general para "algo que se puede dibujar.

InvalidateSelf()

Use la implementación actual Callback para que se vuelva a dibujar.

JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
JumpToCurrentState()

Si este drawable realiza animaciones de transición entre estados, pida que salte inmediatamente al estado actual y omita las animaciones activas.

Mutate()

Haga que esta mutable dibujable.

Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
OnBoundsChange(Rect)

Invalide esta opción en la subclase para cambiar la apariencia si varía en función de los límites.

OnLayoutDirectionChanged(Int32)

Se llama cuando cambia la dirección de diseño resuelta del dibujable.

OnLevelChange(Int32)

Invalide esta opción en la subclase para cambiar la apariencia si varía en función del nivel.

OnStateChange(Int32[])

Invalide esta opción en la subclase para cambiar la apariencia si reconoce el estado especificado.

ResolveOpacity(Int32, Int32)

Devuelve el valor de opacidad adecuado para dos opacidades de origen.

ScheduleSelf(Action, Int64)

Drawable es una abstracción general para "algo que se puede dibujar.

ScheduleSelf(IRunnable, Int64)

Use la implementación actual Callback para tener programado este drawable.

SetAlpha(Int32)

Especifique un valor alfa para el dibujable.

SetBounds(Int32, Int32, Int32, Int32)

Especifique un rectángulo delimitador para drawable.

SetCallback(Drawable+ICallback)

Enlace un Callback objeto a este drawable.

SetColorFilter(Color, PorterDuff+Mode)

Especifique un color y el modo Porter-Duff para que sea el filtro de color para este dibujable.

SetColorFilter(ColorFilter)

Especifique un filtro de color opcional para el dibujable.

SetDither(Boolean)

Establézcalo en true para que el dither dibujable sus colores se dibuje en un dispositivo con menos de 8 bits por componente de color.

SetFilterBitmap(Boolean)

Establézcalo en true para que el filtro dibujable sus mapas de bits con muestreo bilineal cuando se escalan o giran.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetHotspot(Single, Single)

Especifica la ubicación de la zona activa dentro del elemento dibujable.

SetHotspotBounds(Int32, Int32, Int32, Int32)

Establece los límites a los que está restringido el punto de acceso, si deben ser diferentes de los límites dibujables.

SetLayoutDirection(LayoutDirection)

Establezca la dirección de diseño para este dibujable.

SetLevel(Int32)

Especifique el nivel para el dibujable.

SetState(Int32[])

Especifique un conjunto de estados para el dibujable.

SetTint(Int32)

Especifica el color de tono para este dibujable.

SetTintBlendMode(BlendMode)

Especifica un modo de combinación de tono para este dibujable.

SetTintList(ColorStateList)

Especifica el color de tono para este dibujo como una lista de estados de color.

SetTintMode(PorterDuff+Mode)

Especifica un modo de combinación de tono para este dibujable.

SetVisible(Boolean, Boolean)

Establezca si este objeto Drawable está visible.

ToArray<T>()

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)
UnscheduleSelf(Action)

Drawable es una abstracción general para "algo que se puede dibujar.

UnscheduleSelf(IRunnable)

Use la implementación actual Callback para que este drawable no se programe.

Wait()

Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)
IJavaPeerable.Finalized()

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Drawable es una abstracción general para "algo que se puede dibujar.

(Heredado de Object)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Drawable es una abstracción general para "algo que se puede dibujar.

GetJniTypeName(IJavaPeerable)

Drawable es una abstracción general para "algo que se puede dibujar.

Se aplica a