Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouPedro Henrique de Sá Raminhos Alterado mais de 7 anos atrás
1
View Programação Orientada por Objetos (POO) Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)palex@cc.isel.ipl.pt Centro de Cálculo Instituto Superior de Engenharia de Lisboa
2
CCISEL, 2015 Layouts Hierarquia de View 2Programação Orientada por Objetos View ViewGroup LinearLayout RelativeLayout FrameLayout TextView EditText Button CheckedTextView TableLayout RadioGroup CompoundButton CheckBox RadioButton ProgressBar Widgets
3
CCISEL, 2015 Mecanismo de desenho de Views Após a criação da Activity ( onCreate() ) ou quando a Activity é ativada, o visual é desenhado começando pelo View raiz da hierarquia de Views ( setContentView() ) definida no layout em XML ou programaticamente. O mecanismo de desenho percorre a hierarquia desde o pai (raiz) até aos filhos, sendo os pais desenhados antes dos filhos e os filhos desenhados pela ordem de declaração, realizando duas passagens: 1.Layout: Para determinar as dimensões de cada View chamando o seu método onMeasure(int,int) e posicionar os filhos chamando o onLayout(…) de cada GroupView. 2.Draw: Para desenhar cada elemento chamando o método onDraw(Canvas) de cada View. 3Programação Orientada por Objetos
4
CCISEL, 2015 A passagem Layout Esta passagem posiciona os filhos de cada GroupView –chamando o método onLayout(…) de cada GroupView e determina a dimensão de cada elemento –chamando uma ou mais vezes o método onMeasure de cada View. Na alteração da dimensão de um View é chamado onSizeChanged A Activity ou um View pode pedir para realizar esta passagem a partir de um determinado View chamando o seu método requestLayout(). O método onMeasure(int widthMS,int heightMS) recebe os requisitos sobre a largura e a altura impostas pelo GroupView e deve chamar o método setMeasuredDimension(int width, int height) para guardar as dimensões pretendidas. –Os parâmetros widthMS e heightMS têm os requisitos codificados num int e devem ser descodificados com a classe View.MeasureSpec. 4Programação Orientada por Objetos
5
CCISEL, 2015 A passagem Draw Esta passagem desenha os elementos da hierarquia –chamando o método onDraw(Canvas) de cada View que necessite ser desenhado ou redesenhado. A Activity ou um View pode pedir para realizar esta passagem a partir de um determinado View chamando o seu método invalidate(). O método onDraw(Canvas canvas) recebe como parâmetro o objeto com as operações básicas para desenhar na área atribuída ao View, ex: canvas.drawLine(0,0,getWidth(),getHeight(),paint); Devido ao número de chamadas realizadas, este método não deve realizar operações "pesadas", tal como a criação de novos objetos. Por este motivo, o objeto paint deve ser reutilizado entre chamadas. 5Programação Orientada por Objetos
6
CCISEL, 2015 Criação de Views especializados Construtores atributos –attrs.xml onDraw –invalidate onMeasure –onSizeChange onTouchEvent 6Programação Orientada por Objetos
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.