CrappUIDisplay
O CrappUIDisplay é a classe base de todos os componentes da Crapp UI.
Class
crapp.ui.display.CrappUIDisplay
Style Tag
Nenhum
Exemplos
<priori>
<imports>
<crapp.ui.display.CrappUIDisplay />
</imports>
<view>
<CrappUIDisplay bgColor="0xFF0000" width="100" height="50"/>
</view>
</priori>
Propriedades do Componente
x:Float: Move o objeto na tela no eixo x, da esquerda para a direita.
y:Float: Move o objeto na tela no eixo y, de cima para baixo.
z:Float: Cria um efeito de profundidade projetando uma sombra. Este efeito pode também modificar a ordem de renderização dos objetos.
width:Float: Define a largura do objeto.
height:Float: Define a algura do objeto.
disabled:Bool: Desabilita o objeto e todos os seus filhos de maneira recursiva.
left:Float: Garante que o lado esquerdo do objeto se mantenha ancorado em uma determinada posição. Em combinação com a propriedade
right
, estes parametros vão influenciar na propriedadewidth
de forma automática.right:Float: Garante que o lado direito do objeto se mantenha ancorado em uma determinada posição. Em combinação com a propriedade
left
, estes parametros vão influenciar na propriedadewidth
de forma automática.top:Float: Garante que o topo do objeto se mantenha ancorado em uma determinada posição. Em combinação com a propriedade
bottom
, estes parametros vão influenciar na propriedadeheight
de forma automática.bottom:Float: Garante que a base do objeto se mantenha ancorado em uma determinada posição. Em combinação com a propriedade
top
, estes parametros vão influenciar na propriedadeheight
de forma automática.bgColor:Int: Define qual a cor do background do objeto. Normalmente é definido como um valor hexadecimal.
Propriedades relacionadas à estilização do componente.
theme: Define o tema do componente.
tag: Define a tag do tema do componente. Alguns componentes da Crapp UI já possuem uma tag pré-definida que pode ser alterada.
variant: Define a variante de estilo da tag correspondente.
style: Obtém qual composição de estilo está sendo obtida pelo componente, através da combinação de tema, tag e variante. É possível também setar o estilo para sobrepor e combinar com o estilo pré-definido ao objeto.
Métodos do Componente
addChild(child:PriDisplay): Adiciona um objeto dentro do outro. O objeto que está contido é chamado de
child
. O objeto que contém ochild
é chamado deparent
. Caso você tente adicionar umchild
que já possui umparent
, ele será removido primeiro doparent
atual.addChildList(childList:Array<PriDisplay>): O mesmo que o método
addChild
, porém com a conveniência de adicionar diversos objetos simultaneamente.removeChild(child:PriDisplay): Remove o elemento visual de dentro do objeto
parent
. Caso ochild
não exista dentro desteparent
, o método não terá efeito.removeChildList(childList:Array<PriDisplay>): O mesmo que o método
removeChild
, porém com a conveniência de remover diversos objetos simultaneamente.removeFromParent(): Remove o objeto do seu
parent
, caso ele possua algum.removeAllChildren(): Remove todos os elementos
child
do objeto.
Métodos usados para inicialização e atualização
Os métodos abaixos fazem parte do ciclo de vida do componente Crapp UI e podem ser sobrescritos para obter controle sobre a inicialização e renderização do componente:
setup(): O método
setup
é executado sempre durante o processo de construção da instância, ou seja, é garantido que ele será executado apenas uma vez de forma automática. Este método normalmente é utilizado para instanciar novos elementos, objetos, definir algumas configurações iniciais e qualquer outro procedimento que precise ser tratado durante o processo da instância.paint(): O método
paint
será executado pelo menos uma vez, slogo após o método setup ser executado. Posteriormente, este método será executado repetidas vezes, sempre que o componente identificar que existe uma boa razão para atualizar a renderização de um objeto. Ao sobrescrever este método, é comum adicionar instruções relacionadas a posicionamento de objetos, ajustes de tamanho e outras propriedades visuais. Caso exista mudanças intensas e recorrentes, encontre formas otimizadas de decidir se todas as mudanças são realmente necessárias todas as vezes para garantir boa performance da aplicação. Não execute chamadas diretas ao métodopaint
. Caso deseje executar as operações dopaint
, você deve executar o métodoupdatedisplay
. O métodopaint
normalmente será executado nas seguintes situações:O elemento sofreu uma mudança de altura ou largura;
Algum filho foi adicionado ou removido;
O próprio objeto foi adicionado ou removido;
Alguma instrução executou o método
updateDisplay
;
updateDisplay(): Este método não deve ser chamado em situações que você deseja efetuar um re-paint, ou seja, é uma forma indireta de executar o método paint. Esta é a forma adequada pois o método updateDisplay poderá decidir se efetuará a chamada ao paint de forma otimizada e essa chamada será trasmitida a todos os seus filhos descendentes.
Nunca execute diretamente o método paint()
. Ao invés disso, execute chamadas ao updateDisplay()
sempre que desejar efetuar um re-paint do objeto.
O ciclo de vida de um objeto pode ser entendido da seguinte maneira:
Atualizado
Isto foi útil?