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.
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
- 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.
<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="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 |
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 |
ColorFilter |
Retorna o filtro de cores atual ou |
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 |
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, 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. |
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. |
CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String, BitmapFactory+Options) |
Um Drawable é uma abstração geral para "algo que pode ser desenhado. |
CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String) |
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, Resources+Theme) |
Crie um desenho a partir de um documento XML. |
CreateFromXml(Resources, XmlReader) |
Crie um desenho a partir de um documento XML. |
CreateFromXmlAsync(Resources, XmlReader, Resources+Theme) |
Um Drawable é uma abstração geral para "algo que pode ser desenhado. |
CreateFromXmlAsync(Resources, XmlReader) |
Um 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() |
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 |
GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
GetHotspotBounds(Rect) |
Preenche |
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 |
Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Inflar este Drawable de um recurso XML. |
Inflate(Resources, XmlReader, IAttributeSet) |
Inflar este Drawable de um recurso XML. |
InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Um Drawable é uma abstração geral para "algo que pode ser desenhado. |
InflateAsync(Resources, XmlReader, IAttributeSet) |
Um 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 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 |
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 |
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 |
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, 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) |
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) |
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. |