Compartilhar via


Drawable Classe

Definição

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

[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
Herança
Drawable
Derivado
Atributos

Comentários

Um Drawable é uma abstração geral para "algo que pode ser desenhado". Na maioria das vezes você vai lidar com Drawable como o tipo de recurso recuperado para desenhar coisas para a tela; a classe Drawable fornece uma API genérica para lidar com um recurso visual subjacente que pode assumir várias formas. Ao contrário de um android.view.View, um Drawable não tem nenhuma facilidade para receber eventos ou interagir com o usuário.

Além do simples desenho, o Drawable disponibiliza uma série de mecanismos genéricos para que seu cliente interaja com o que está sendo desenhado:

<><ul li> O #setBounds método <var>deve</var> ser chamado para dizer ao Drawable onde ele é desenhado e qual deve ser o tamanho. Todos os Drawables devem respeitar o tamanho solicitado, muitas vezes simplesmente dimensionando suas imagens. Um cliente pode encontrar o tamanho preferido para alguns Drawables com os #getIntrinsicHeight métodos e #getIntrinsicWidth .

<li> O #getPadding método pode retornar de alguns Drawables informações sobre como enquadrar o conteúdo que é colocado dentro deles. Por exemplo, um Drawable que se destina a ser o quadro de um widget de botão precisaria retornar o preenchimento que coloca corretamente o rótulo dentro de si mesmo.

<li> O #setState método permite que o cliente diga ao Drawable em qual estado ele deve ser desenhado, como "focado", "selecionado", etc. Alguns desenhos, podem modificar suas imagens com base no estado selecionado.

<li> O #setLevel método permite que o cliente forneça um único controlador contínuo que possa modificar o Drawable é exibido, como um nível de bateria ou nível de progresso. Alguns desenhos, podem modificar suas imagens com base no nível atual.

<li> A Drawable pode executar animações chamando de volta ao seu cliente através da Callback interface. Todos os clientes devem suportar essa interface (via #setCallback) para que as animações funcionem. Uma maneira simples de fazer isso é através das facilidades do sistema, como android.view.View#setBackground(Drawable) e android.widget.ImageView. </ul>

Embora geralmente não seja visível para o aplicativo, os Drawables podem assumir uma variedade de formas:

<><ul li><b>Bitmap</b>: o mais simples Drawable, uma imagem PNG ou JPEG. <li><b>Nine Patch</b>: uma extensão para o formato PNG permite especificar informações sobre como esticá-lo e colocar coisas dentro dele. <li><b>Vetor</b>: um desenho definido em um arquivo XML como um conjunto de pontos, linhas e curvas, juntamente com suas informações de cor associadas. Este tipo de desenho pode ser dimensionado sem perda de qualidade de exibição. <li><b>Shape</b>: contém comandos de desenho simples em vez de um bitmap bruto, permitindo que ele seja redimensionado melhor em alguns casos. <li><b>Camadas</b>: um composto desenhável, que desenha vários desenhadores subjacentes uns sobre os outros. <li><b>Estados</b>: um composto sacável que seleciona um de um conjunto de sacáveis com base em seu estado. <li><b>Níveis</b>: um composto desenhável que seleciona um de um conjunto de sacáveis com base em seu nível. <li><b>Escala</b>: um composto desenhável com um único filho desenhável, cujo tamanho total é modificado com base no nível atual. </ul>

"Custom"><h3>Desenhos personalizados</h3>

Todas as versões do Android permitem que a classe Drawable seja estendida e usada em tempo de execução no lugar de classes desenháveis fornecidas pela estrutura. A partir do android.os.Build.VERSION_CODES#N API 24, as classes drawables personalizadas também podem ser usadas em XML.

<strong>Nota:</strong> As classes desenhadas personalizadas só podem ser acessadas de dentro do pacote do aplicativo. Outros aplicativos não poderão carregá-los.

No mínimo, as classes desenhadas personalizadas devem implementar os métodos abstratos em Drawable e devem substituir o método para desenhar o Drawable#draw(Canvas) conteúdo.

As classes drawables personalizadas podem ser usadas em XML de várias maneiras: <ul><li> Usando o nome de classe totalmente qualificado como o nome do elemento XML. Para esse método, a classe desenhada personalizada deve ser uma classe pública de nível superior.

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

</li><li> Usando <em>drawable</em> como o nome do elemento XML e especificando o nome de classe totalmente qualificado do <atributo em>class</em> . Esse método pode ser usado para classes públicas de nível superior e classes 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="referência especial"><h3>Developer Guides</h3>

Para obter mais informações sobre como usar drawables, leia o Guia do desenvolvedor do Canvas and Drawables . Para obter informações e exemplos de criação de recursos desenháveis (arquivos XML ou bitmap que podem ser carregados em código), leia o documento Recursos Desenháveis .

</Div>

Documentação Java para android.graphics.drawable.Drawable.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Construtores

Drawable()

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

Drawable(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo tempo de execução.

Propriedades

Alpha

Obtém o valor alfa atual para o sacável.

AutoMirrored

Informa se esse Drawable será espelhado automaticamente quando sua direção de layout for RTL da direita para a esquerda. -ou- Defina se esse Drawable é espelhado automaticamente quando sua direção de layout é RTL (da direita para a esquerda).

Bounds

Devolva os limites do sacável Rect. -ou- Especifique um retângulo delimitador para o Drawable.

Callback

Retorne a implementação atual Callback anexada a este Drawable.

ChangingConfigurations

Retorne uma máscara dos parâmetros de configuração para os quais esse desenho pode ser alterado, exigindo que ele seja recriado. -ou- Defina uma máscara dos parâmetros de configuração para os quais este desenho pode ser alterado, exigindo que ele seja recriado.

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
ColorFilter

Retorna o filtro de cores atual ou null se nenhum estiver definido.

Current

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

DirtyBounds

Devolva os limites sujos do sacável Rect.

Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
HasFocusStateSpecified

Indica se esse desenho tem pelo menos uma especificação de estado especificando android.R.attr#state_focusedexplicitamente .

IntrinsicHeight

Retorna a altura intrínseca do desenhável.

IntrinsicWidth

Retorna a largura intrínseca do desenhável.

IsFilterBitmap

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

IsProjected

Se este desenho pede projeção.

IsStateful

Indica se esse desenho mudará sua aparência com base no estado.

IsVisible

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

JniIdentityHashCode

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)
JniPeerMembers

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

LayoutDirection

Retorna a direção de layout resolvida para este Drawable.

Level

Recupere o nível atual.

MinimumHeight

Retorna a altura mínima sugerida por este Drawable.

MinimumWidth

Retorna a largura mínima sugerida por este Drawable.

Opacity

Devolva a opacidade/transparência deste Drawable.

OpticalInsets

Retorne em inserções as inserções de layout sugeridas por este Drawable para uso com operações de alinhamento durante o layout.

PeerReference

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)
ThresholdClass

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

TransparentRegion

Retorna uma Região que representa a parte do Drawable que é completamente transparente.

Métodos

ApplyTheme(Resources+Theme)

Aplica o tema especificado a este Drawable e seus filhos.

CanApplyTheme()

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

ClearColorFilter()

Remove o filtro de cores deste desenhável.

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
CopyBounds()

Retorne uma cópia dos limites do sacável em um novo Rect.

CopyBounds(Rect)

Retornar uma cópia dos limites do sacável no Rect especificado (alocado pelo chamador).

CreateFromPath(String)

Crie um nome de caminho de arquivo desenhável.

CreateFromPathAsync(String)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

CreateFromResourceStream(Resources, TypedValue, Stream, String)

Crie um drawable a partir de um fluxo de entrada, usando os recursos e o valor fornecidos para determinar as informações de densidade.

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

Crie um drawable a partir de um fluxo de entrada, usando os recursos e o valor fornecidos para determinar as informações de densidade.

CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

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

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

CreateFromStream(Stream, String)

Criar um drawable a partir de um inputstream

CreateFromStreamAsync(Stream, String)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

CreateFromXml(Resources, XmlReader)

Crie um desenho a partir de um documento XML.

CreateFromXml(Resources, XmlReader, Resources+Theme)

Crie um desenho a partir de um documento XML.

CreateFromXmlAsync(Resources, XmlReader)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

CreateFromXmlAsync(Resources, XmlReader, Resources+Theme)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

CreateFromXmlInner(Resources, XmlReader, IAttributeSet)

Crie de dentro de um documento XML.

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

Crie de dentro de um documento XML.

Dispose()

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)
Dispose(Boolean)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)
Draw(Canvas)

Desenhe em seus limites (definido via setBounds) respeitando efeitos opcionais como alfa (definido via setAlpha) e filtro de cores (definido via setColorFilter).

Equals(Object)

Indica se algum outro objeto é "igual" a este.

(Herdado de Object)
GetConstantState()

Retorne uma ConstantState instância que contenha o estado compartilhado deste Drawable.

GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
GetHotspotBounds(Rect)

Preenche outRect com os limites do ponto de acesso.

GetOutline(Outline)

Chamado para obter o desenho para preencher a estrutura de tópicos que define sua área de desenho.

GetPadding(Rect)

Retorne no preenchimento as inserções sugeridas por este Drawable para colocar o conteúdo dentro dos limites do drawable.

GetState()

Descreve o estado atual, como uma união de estados primitivos, como android.R.attr#state_focused, android.R.attr#state_selected, etc.

Inflate(Resources, XmlReader, IAttributeSet)

Inflar este Drawable de um recurso XML.

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

Inflar este Drawable de um recurso XML.

InflateAsync(Resources, XmlReader, IAttributeSet)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

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

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

InvalidateSelf()

Use a implementação atual Callback para que esse Drawable seja redesenhado.

JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
JumpToCurrentState()

Se esse Drawable fizer animações de transição entre estados, peça que ele pule imediatamente para o estado atual e ignore todas as animações ativas.

Mutate()

Torne este desenho mutável.

Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
OnBoundsChange(Rect)

Substitua isso em sua subclasse para alterar a aparência se você variar com base nos limites.

OnLayoutDirectionChanged(Int32)

Chamado quando a direção do layout resolvido do desenhista muda.

OnLevelChange(Int32)

Substitua isso em sua subclasse para alterar a aparência se você variar com base no nível.

OnStateChange(Int32[])

Substitua isso em sua subclasse para alterar a aparência se você reconhecer o estado especificado.

ResolveOpacity(Int32, Int32)

Retorne o valor de opacidade apropriado para duas opacidades de origem.

ScheduleSelf(Action, Int64)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

ScheduleSelf(IRunnable, Int64)

Use a implementação atual Callback para ter esse Drawable agendado.

SetAlpha(Int32)

Especifique um valor alfa para o sacável.

SetBounds(Int32, Int32, Int32, Int32)

Especifique um retângulo delimitador para o Drawable.

SetCallback(Drawable+ICallback)

Vincule um Callback objeto a este Drawable.

SetColorFilter(Color, PorterDuff+Mode)

Especifique uma cor e o modo Porter-Duff para ser o filtro de cores para este desenho que pode ser desenhado.

SetColorFilter(ColorFilter)

Especifique um filtro de cor opcional para o desenhável.

SetDither(Boolean)

Defina como true para que o desenho dirther suas cores quando desenhado em um dispositivo com menos de 8 bits por componente de cor.

SetFilterBitmap(Boolean)

Defina como true para que o desenho filtre seus bitmaps com amostragem bilinear quando eles são dimensionados ou girados.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
SetHotspot(Single, Single)

Especifica a localização do ponto de acesso dentro do desenho configurável.

SetHotspotBounds(Int32, Int32, Int32, Int32)

Define os limites aos quais o ponto de acesso é restrito, se eles devem ser diferentes dos limites desenháveis.

SetLayoutDirection(LayoutDirection)

Defina a direção do layout para este desenho.

SetLevel(Int32)

Especifique o nível para o sacável.

SetState(Int32[])

Especifique um conjunto de estados para o sacável.

SetTint(Int32)

Especifica a cor da tonalidade para este desenho que pode ser desenhado.

SetTintBlendMode(BlendMode)

Especifica um modo de mistura de tonalidade para este desenho.

SetTintList(ColorStateList)

Especifica a cor da tonalidade para esta lista de estados de cores que pode ser desenhada.

SetTintMode(PorterDuff+Mode)

Especifica um modo de mistura de tonalidade para este desenho.

SetVisible(Boolean, Boolean)

Defina se este Drawable está visível.

ToArray<T>()

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)
UnscheduleSelf(Action)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

UnscheduleSelf(IRunnable)

Use a implementação atual Callback para que esse Drawable não seja agendado.

Wait()

Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

IJavaPeerable.Disposed()

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)
IJavaPeerable.Finalized()

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

(Herdado de Object)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

GetJniTypeName(IJavaPeerable)

Um Drawable é uma abstração geral para "algo que pode ser desenhado.

Aplica-se a