Drawable Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
A 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
- Derivado
- Atributos
Comentários
A Drawable é uma abstração geral para "algo que pode ser desenhado". Na maioria das vezes, você lidará com Drawable como o tipo de recurso recuperado para desenhar itens na tela; a classe Drawable fornece uma API genérica para lidar com um recurso visual subjacente que pode ter uma variedade de formulários. 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 desenho simples, Drawable fornece 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 informar ao Desenhável onde ele é desenhado e quão grande ele deve ser. Todos os drawables devem respeitar o tamanho solicitado, geralmente simplesmente dimensionando suas imagens. Um cliente pode encontrar o tamanho preferencial para alguns drawables com os métodos e #getIntrinsicHeight os #getIntrinsicWidth métodos.
<li> O #getPadding método pode retornar de algumas informações de Drawables sobre como enquadrar o conteúdo que é colocado dentro deles. Por exemplo, um desenho 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 informe ao Drawable em qual estado ele deve ser desenhado, como "focalizado", "selecionado", etc. Alguns desenháveis 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 desenháveis podem modificar suas imagens com base no nível atual.
<li> A Drawable pode executar animações chamando de volta para seu cliente por meio da Callback interface. Todos os clientes devem dar suporte a essa interface (via #setCallback) para que as animações funcionem. Uma maneira simples de fazer isso é por meio das instalações do sistema, como android.view.View#setBackground(Drawable) e android.widget.ImageView.
</ul>
Embora geralmente não esteja visível para o aplicativo, Drawables pode usar uma variedade de formulários:
<ul><li><b>Bitmap</b>: o drawable mais simples, 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>Vector</b>: um desenhável definido em um arquivo XML como um conjunto de pontos, linhas e curvas, juntamente com suas informações de cor associadas. Esse tipo de desenhável 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 redimensione melhor em alguns casos. <li><b>Camadas</b>: um composto desenhável, que desenha vários desenháveis subjacentes uns sobre os outros. <li><b>Estados</b>: um composto desenhável que seleciona um de um conjunto de desenháveis com base em seu estado. <li><b>Níveis</b>: um composto desenhável que seleciona um de um conjunto de desenháveis com base em seu nível. <li><b>Escala</b>: um composto desenhável com um único filho desenhável, cujo tamanho geral é modificado com base no nível atual. </ul>
"Custom"><h3>Custom drawables</h3>
Todas as versões do Android permitem que a classe Desenhável seja estendida e usada em tempo de execução no lugar de classes asenháveis fornecidas pela estrutura.
android.os.Build.VERSION_CODES#N API 24A partir de então, as classes de desenháveis personalizados também podem ser usadas em XML.
<Observação forte>:</classes asenháveis personalizadas fortes> só podem ser acessadas de dentro do pacote de aplicativos. Outros aplicativos não poderão carregá-los.
No mínimo, as classes desenháveis personalizadas devem implementar os métodos abstratos em Drawable e devem substituir o Drawable#draw(Canvas) método para desenhar conteúdo.
Classes de 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 de desenho personalizada deve ser uma classe pública de nível superior.
<com.myapp.MyCustomDrawable xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#ffff0000" />
</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.
<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>
Para obter mais informações sobre como usar desenháveis, leia o guia do desenvolvedor canvas e drawables . Para obter informações e exemplos de criação de recursos desenháveis (arquivos XML ou bitmap que podem ser carregados no código), leia o documento Recursos Desenháveis .
</div>
Java documentação para android.graphics.drawable.Drawable.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| Drawable() | |
| Drawable(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime. |
Propriedades
| Nome | Description |
|---|---|
| Alpha |
Obtém o valor alfa atual para o desenhá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 |
Retorne o Rect de limites do desenhável. -ou- Especifique um retângulo delimitador para o desenhável. |
| Callback |
Retorne a implementação atual |
| ChangingConfigurations |
Retorne uma máscara dos parâmetros de configuração para os quais esse desenhável pode mudar, exigindo que ele seja recriado. -ou- Defina uma máscara dos parâmetros de configuração para os quais esse desenhável pode mudar, exigindo que ele seja recriado. |
| Class |
Retorna a classe de runtime deste |
| ColorFilter |
Retorna o filtro de cor atual ou |
| Current | |
| DirtyBounds |
Retorne o rect de limites sujos do desenhável. |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| HasFocusStateSpecified |
Indica se esse desenhável tem pelo menos uma especificação de estado especificando |
| IntrinsicHeight |
Retorna a altura intrínseca do desenhável. |
| IntrinsicWidth |
Retorna a largura intrínseca do desenhável. |
| IsFilterBitmap |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| IsProjected |
Se essa projeção de solicitações desenhável. |
| IsStateful |
Indica se esse desenhável alterará sua aparência com base no estado. |
| IsVisible | |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniPeerMembers |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| LayoutDirection |
Retorna a direção de layout resolvida para este Desenhável. |
| Level |
Recupere o nível atual. |
| MinimumHeight |
Retorna a altura mínima sugerida por este Desenhável. |
| MinimumWidth |
Retorna a largura mínima sugerida por este Desenhável. |
| Opacity |
Retorne a opacidade/transparência deste Desenhável. |
| OpticalInsets |
Retorne em insets os conjuntos de layout sugeridos por este Desenhável para uso com operações de alinhamento durante o layout. |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
| ThresholdType |
Essa API dá suporte à infraestrutura do 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
| Nome | Description |
|---|---|
| ApplyTheme(Resources+Theme) |
Aplica o tema especificado a este Drawable e seus filhos. |
| CanApplyTheme() | |
| ClearColorFilter() |
Remove o filtro de cores para este desenhável. |
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| CopyBounds() |
Retorne uma cópia dos limites do desenhável em um novo Rect. |
| CopyBounds(Rect) |
Retornar uma cópia dos limites do desenhável no Rect especificado (alocado pelo chamador). |
| CreateFromPath(String) |
Crie um nome de caminho de arquivo desenhável. |
| CreateFromPathAsync(String) |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| CreateFromResourceStream(Resources, TypedValue, Stream, String, BitmapFactory+Options) |
Crie um desenhável de um fluxo de entrada, usando os recursos e o valor fornecidos para determinar informações de densidade. |
| CreateFromResourceStream(Resources, TypedValue, Stream, String) |
Crie um desenhável de um fluxo de entrada, usando os recursos e o valor fornecidos para determinar informações de densidade. |
| CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String, BitmapFactory+Options) |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String) |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| CreateFromStream(Stream, String) |
Criar um desenhável de um fluxo de entrada |
| CreateFromStreamAsync(Stream, String) |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| CreateFromXml(Resources, XmlReader, Resources+Theme) |
Crie um desenho de um documento XML. |
| CreateFromXml(Resources, XmlReader) |
Crie um desenho de um documento XML. |
| CreateFromXmlAsync(Resources, XmlReader, Resources+Theme) |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| CreateFromXmlAsync(Resources, XmlReader) |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| CreateFromXmlInner(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Crie de dentro de um documento XML. |
| CreateFromXmlInner(Resources, XmlReader, IAttributeSet) |
Crie de dentro de um documento XML. |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Draw(Canvas) |
Desenhe em seus limites (definidos por meio de setBounds) respeitando efeitos opcionais, como alfa (definido via setAlpha) e filtro de cor (definido por meio de setColorFilter). |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| GetConstantState() |
Retornar uma |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| GetHotspotBounds(Rect) |
|
| GetOutline(Outline) |
Chamado para obter o desenhável para preencher a Estrutura de Tópicos que define sua área de desenho. |
| GetPadding(Rect) |
Retorne no preenchimento dos insets sugeridos por este Desenhável para colocar o conteúdo dentro dos limites do desenhável. |
| GetState() |
Descreve o estado atual, como uma união de estados primitivos, como |
| Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Inflar esse recurso Desenhável de um recurso XML. |
| Inflate(Resources, XmlReader, IAttributeSet) |
Inflar esse recurso Desenhável de um recurso XML. |
| InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme) |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| InflateAsync(Resources, XmlReader, IAttributeSet) |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| InvalidateSelf() |
Use a implementação atual |
| 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 a transição de animações entre estados, peça que ele pule imediatamente para o estado atual e ignore as animações ativas. |
| Mutate() |
Torne isso mutável desenhá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 desenhável é alterada. |
| OnLevelChange(Int32) |
Substitua isso em sua subclasse para alterar a aparência se você variar de acordo com o 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) |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| ScheduleSelf(IRunnable, Int64) |
Use a implementação atual |
| SetAlpha(Int32) |
Especifique um valor alfa para o desenhável. |
| SetBounds(Int32, Int32, Int32, Int32) |
Especifique um retângulo delimitador para o Desenhável. |
| SetCallback(Drawable+ICallback) |
Associe um |
| SetColorFilter(Color, PorterDuff+Mode) |
Especifique uma cor e Porter-Duff modo para ser o filtro de cores para este desenhável. |
| SetColorFilter(ColorFilter) |
Especifique um filtro de cor opcional para o desenhável. |
| SetDither(Boolean) |
Defina como true para ter o dither desenhável de suas cores quando desenhado para um dispositivo com menos de 8 bits por componente de cor. |
| SetFilterBitmap(Boolean) |
Defina como true para que o filtro desenhável 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 hotspot dentro do desenhá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 desenhável. |
| SetLevel(Int32) |
Especifique o nível para o desenhável. |
| SetState(Int32[]) |
Especifique um conjunto de estados para o desenhável. |
| SetTint(Int32) |
Especifica a cor da tonalidade para este desenhável. |
| SetTintBlendMode(BlendMode) |
Especifica um modo de mesclagem de tonalidade para este desenhável. |
| SetTintList(ColorStateList) |
Especifica a cor da tonalidade para esse desenhável como uma lista de estado de cor. |
| SetTintMode(PorterDuff+Mode) |
Especifica um modo de mesclagem de tonalidade para este desenhável. |
| SetVisible(Boolean, Boolean) |
Defina se esse desenhável está visível. |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| UnscheduleSelf(Action) |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| UnscheduleSelf(IRunnable) |
Use a implementação atual |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<> (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Notifica o runtime de interoperabilidade de que esse par gerenciado foi descartado. (Herdado de Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Libera esse par Java, a menos que seja mantido por outra referência gerenciada. (Herdado de Object) |
| IJavaPeerable.Finalized() |
Notifica o runtime de interoperabilidade de que esse par gerenciado foi finalizado. (Herdado de Object) |
| IJavaPeerable.JniManagedPeerState |
Obtém o estado que descreve a relação entre esse par gerenciado e sua referência de JNI. (Herdado de Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Define o código de hash de identidade de interoperabilidade para esse par Java. (Herdado de Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Define o estado de par gerenciado e JNI para esse par Java. (Herdado de Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Define a referência de objeto JNI usada por esse par gerenciado. (Herdado de Object) |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
A Drawable é uma abstração geral para "algo que pode ser desenhado. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |