Tutorial Android #14 – Ajustando o Layout para Paisagem (II)

Olá pessoal! No tutorial de hoje vamos voltar a um tema já tratado superficialmente alguns posts atrás: a adaptação do layout da aplicação Lista de Restaurantes também para o modo paisagem. Não sei se vocês chegaram a testar o exemplo do tutorial 10, mas naquela situação tínhamos um pequeno problema: ao rotacionar a tela para modo paisagem / retrato, perdíamos o conteúdo do formulário, caso alguma coisa tivesse sido digitada.

No tutorial de hoje vamos fazer a rotação de uma maneira mais organizada, resolvendo também este problema. Todos prontos? 🙂

Primeiramente, precisamos de uma forma de armazenar os valores no caso da mudança de orientação do celular. Lá na classe FormularioDetalhes, vamos sobrescrever o método onSaveInstanceState(), que armazenará os valores pra gente. Adicione a seguinte implementação ao final da classe:

Pronto. Já fizemos com que os valores do formulário fossem salvos. Agora, vamos implementar o método onRestoreInstanceState() que devolverá os dados no formulário.

Por fim, vamos definir novamente o nosso layout em modo paisagem. Crie novamente a pasta (se você a excluiu) res/layout-land e crie o arquivo form_detalhes.xml. Se você ainda tem o arquivo main.xml lá, exclua-o.

E pronto! Quanto a tela de listagem, não precisamos alterar seu layout pois ele funciona bem tanto em modo retrato quanto paisagem.

Quem quiser baixar o projeto, só clicar aqui. Até o próximo post!

Obs: após a última atualização do plugin ADT do Eclipse, ele acusou alguns ‘warnings‘ nos layouts XML. Por enquanto não se preocupem com isso! 😉

Um comentário sobre “Tutorial Android #14 – Ajustando o Layout para Paisagem (II)

  1. Lucas P. Rosseti disse:

    Ola Rafael tudo bem essa parte de salvar os campos fixos mas e quando tenho que salvar uma lista como que fica? Estou tentando mas não consigo manter os campos editaveis com o valor sempre que algo muda na tela (orientação ou quando retrai o teclado virtual) os campos voltam ao valor origina.
    Tentei também
    android:configChanges=”orientation|keyboardHidden”
    mas não resolveu…
    Como proceder nesse caso?
    Grato por sua atenção

    Lucas P. Rosseti

    Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.