Baixe Class5 e outras Notas de estudo em PDF para Engenharia de Telecomunicações, somente na Docsity!
Sudoku
Programação para a Plataforma Android – Aula 5
- Refinando layouts
- Lidando com telas em modo paisagem
- Invocando a@vidades dentro de a@vidades
- Usando temas para melhorar layouts
- Depurando via o console de saída
- Carregando uma a@vidade
Sudoku
• Sudoku é um jogo de raciocínio,
cujo obje@vo é preencher uma
matriz de 9x9 casas com
números inteiros entre 1 e 9
inclusive, de tal forma que
nenhuma linha, coluna ou
diagonal possua números iguais.
Este exemplo foi retirado do Capítulo 3 do livro Hello, Android ( The Pragmatic Programmers ) Por Ed Burnette
Visão Geral do Jogo
Sudoku Game
PuzzleView
Keypad
About
Prefs
Criando o
projeto
O Layout Principal
_ < **LinearLayout** xmlns:android= _"h5p://schemas.android.com/apk/res/android"_ android:orienta@on= _"ver?cal" android:layout_width="fill_parent"_ android:layout_height= _"fill_parent">_ < **TextView** android:layout_width= _"fill_parent"_ android:layout_height= _"wrap_content"_ android:text= _"@string/main_?tle" />_ < **Bu1on** android:layout_width= _"fill_parent"_ android:layout_height= _"wrap_content"_ android:text= _"@string/con?nue_label" />_ < **Bu1on** android:layout_width= _"fill_parent"_ android:layout_height= _"wrap_content"_ android:text= _"@string/new_game_label" />_ < **Bu1on** android:layout_width= _"fill_parent"_ android:layout_height= _"wrap_content"_ android:text= _"@string/about_label" />_ < **Bu1on** android:layout_width= _"fill_parent"_ android:layout_height= _"wrap_content"_ android:text= _"@string/exit_label" />_ **LinearLayout** >
Você^ consegue
prever
como
será^ a
tela^ principal de
nossa^
aplicação
main.xml
O Layout Principal
_ < **LinearLayout** xmlns:android= _"h5p://schemas.android.com/apk/res/android"_ android:orienta@on= _"ver?cal" android:layout_width="fill_parent"_ android:layout_height= _"fill_parent">_ < **TextView** android:layout_width= _"fill_parent"_ android:layout_height= _"wrap_content"_ android:text= _"@string/main_?tle" />_ < **Bu1on** android:layout_width= _"fill_parent"_ android:layout_height= _"wrap_content"_ android:text= _"@string/con?nue_label" />_ < **Bu1on** android:layout_width= _"fill_parent"_ android:layout_height= _"wrap_content"_ android:text= _"@string/new_game_label" />_ < **Bu1on** android:layout_width= _"fill_parent"_ android:layout_height= _"wrap_content"_ android:text= _"@string/about_label" />_ < **Bu1on** android:layout_width= _"fill_parent"_ android:layout_height= _"wrap_content"_ android:text= _"@string/exit_label" />_ **LinearLayout** > main.xml
Cores também são recursos
# **3500ffff** _ … values/colors.xml
Margens
_ < **LinearLayout** xmlns:android= _h5p://schemas.android.com/apk/res/android_ android:background= _"_ **_@color/background_** _"_ android:orienta@on= _"ver?cal" android:layout_width="fill_parent"_ android:layout_height= _"fill_parent">_ …. **LinearLayout** >
Como
adicionar
uma^ margem
entre
os^ botões
e^ o
perímetro
da^ tela
main.xml
< **LinearLayout android:orienta;on="ver;cal" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_gravity="center"** > ****
Formatação de Fonte
Não dá para
aumentar o
tamanho do título
não?
main.xml
_ Inferface Final
O que é
“ sp ”?
main.xml
Exemplo^ de^ Escalas
Layout de Paisagem
• Muitos smartphones possuem um layout para
o modo de paisagem, chamado quando
viramos o aparelhos.
• Nosso layout de paisagem ficou assim:
• Qual o problema
desse layout?
• E como resolvê‐lo?
Tabelas
<TableLayout android:layout_height= "wrap_content" android:layout_width= "wrap_content" android:layout_gravity= "center" android:stretchColumns= _""_* > <Bulon android:id= "@+id/con?nue_bu5on" android:text= "@string/con?nue_label" /> <Bulon android:id= "@+id/new_bu5on" android:text= "@string/new_game_label" /> <Bulon android:id= "@+id/about_bu5on" android:text= "@string/about_label" /> <Bulon android:id= "@+id/exit_bu5on" android:text= "@string/exit_label" />
_
_ _ _ **_** ** _** **_** ** _** **_** ** ** E se eu
removesse esse
pedacinho de
texto aqui?
layout‐land/main.xml
Não fica tão legal…