Você está na página 1de 34

Desenvolvimento para

Dispositivos Móveis
Aula 3 – Navegação entre Telas e Linear Layout
Avisos

1ª avaliação

• Prova: 8 pontos (09/04)

• Atividades práticas: 2 pontos

• Enviar atividades faltantes até 08/04


Como Inserir uma Imagem

• Imagem remota

• Imagem como plano de fundo


Imagem Remota

1) Copiar e colar no diretório: res/drawable

2) No XML: android:src=“@drawable/nomeImg” (sem extensão)

3) Ou através do atributo: src

4) layout_width/layout_height (tamanho da img): 300dp

5) Atibuto scaleType: posição da imagem dentro da imageView


Componentes de Interface

✓EditText (PlainText)
✓Button
✓TextView
✓ImageView
✓Password
✓Password (numeric)
✓RadioButton
✓CheckBox
Exemplo

App que calcula o aumento salarial de uma pessoa. O aumento será de


10%, 20% ou 30%.
1: TextView, text “Digite o seu salário:”

2: EditText, id “salário”

3: TextView, text “Qual o seu percentual?”

4: Radio Group, id “rgopcoes”

5: Radio Button, id “rb1”, text “10%”

6: Radio Button, id “rb2”, text “20%”

7: Radio Button, id “rb3”, text “30%”

8: Button, text “Calcular aumento”

9: TextView, id “result”
Atividades

Atividade 2
Navegação entre Telas (Activities)

Passos

1) Criar a primeira tela: Novo projeto > Empty Views Activity

2) Criar nesta tela um botão: text = Ir para segunda tela, id = bt1


Navegação entre Telas (Activities)

3. Criar a segunda tela:

Project > java > MainActivity > Clicar com o botão direito:

New > Activity > Empty Views Activity (inserindo dentro do pacote mais
uma tela)

→ Temos agora dois arquivos .xml e dois arquivos .java, um par para cada
tela
Navegação entre Telas (Activities)

4. Método que faz a navegação da primeira para a segunda tela

import android.content.Intent

fun irSegT(view: View) {


val ir = Intent(this, Sec::class.java)
startActivity(ir)
}
Classe Intent

Classe fundamental no desenvolvimento de aplicativos Android, sendo


utilizada para realizar diversas ações, como:

a) Navegação entre telas


b) Compartilhamento de Conteúdo (com abrir uma página web, por
exemplo)
c) Iniciar Serviços em Segundo Plano
d) Abrir Componentes do Sistema
Classe Intent

- this refere-se à instância da atividade atual

- Sec::class.java é a classe da segunda tela que se deseja abrir

- startActivity(intent) inicia a nova atividade


Exercício

Acrescentar um botão na segunda tela para voltar para a primeira.


Views e ViewsGroups

View: componentes

ViewGroup

• Como organizar e posicionar melhor as Views (layout).


• A relação entre o ViewGroup e as Views é a mesma que Pai para Filhas.
• ViewGroup padrão: ConstraintLayout.
Pai Filhas
ViewsGroups

Podem ser customizados alterando cor, tamanho, posicionamento interno e


espaços entre si.

Existem várias e cada uma tem suas particularidades e funcionam de uma


forma diferente.

Uma viewGroup pode ser colocada dentro de outra.


LinearLayout

Um dos layouts mais simples e amplamente utilizados no desenvolvimento


de aplicativos Android.

Ele organiza os elementos filhos em uma única linha ou coluna,


dependendo da orientação definida, horizontalmente ou verticalmente.
LinearLayout

Este ViewGroup pode posicionar as Views em uma única coluna vertical ou


horizontal.

Palette > Layouts > LinearLayout


→ OBS.: Vincular layout à tela

Em XML:
android:orientation=“vertical”
Aninhamento

Podemos aninhar LinearLayouts dentro de outros LinearLayouts para criar


layouts mais complexos.

Isso permite criar layouts lineares tanto na horizontal quanto na vertical,


conforme necessário.
layout_weight

Para distribuir igualmente as Views em toda a tela e assumir mais do


espaço disponível.

Permite distribuir o espaço disponível entre os elementos filhos com base


em um peso relativo.
layout_weight vertical

Para um layout vertical, precisamos definir a altura (height) igual a zero e


um peso (layout_weight) para cada uma das Views (componentes).
layout_weight horizontal

Caso esteja usando um layout horizontal, precisamos definir a largura


(width) igual a zero e um peso para cada uma das Views.
layout_weight

Atribuindo um valor de peso para uma View é como atribuir um valor de


importância.

Quanto maior for o valor do peso, mais espaço aquela View vai ocupar se
houver espaço disponível no LinearLayout Pai.
gravity

Usado para controlar o alinhamento dos elementos filhos dentro do


LinearLayout.

Por exemplo: se tiver um LinearLayout com android:orientation="vertical"


e android:gravity="center", os elementos filhos serão centralizados
verticalmente dentro do LinearLayout.
gravity
space

O componente <Space> é usado para adicionar um espaço em branco


dentro de um layout Android.

É útil para criar espaçamento entre outros componentes sem a


necessidade de adicionar elementos visíveis, como Views vazias.
space

Você também pode gostar