A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

View Programação Orientada por Objetos (POO) Pedro Alexandre Pereira Centro de Cálculo Instituto Superior de.

Apresentações semelhantes


Apresentação em tema: "View Programação Orientada por Objetos (POO) Pedro Alexandre Pereira Centro de Cálculo Instituto Superior de."— Transcrição da apresentação:

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


Carregar ppt "View Programação Orientada por Objetos (POO) Pedro Alexandre Pereira Centro de Cálculo Instituto Superior de."

Apresentações semelhantes


Anúncios Google