Portuguese, Brazilian subtitles

← 13-08 Rolagem - Solução

Get Embed Code
13 Languages

Showing Revision 3 created 09/30/2015 by Thais Barros.

  1. Vamos fazer uma busca no Google
    sobre como fazer isso.
  2. Vou digitar "como fazer a rolagem
    num app de android".
  3. Vamos ver o primeiro resultado.
  4. A questão é "como fazer com que
    meu layout possa ter rolagem?"
  5. Isso é bem próximo do que queremos.
  6. Descemos até a parte da resposta,
    e aqui tem um sinal de visto verde e
  7. muitas qualificações positivas.
  8. Então deve ser uma boa resposta.
  9. Ela diz "só junte tudo isso
    dentro de um ScrollView.
  10. E então tem um exemplo,
    ScrollView,
  11. então é especificado o namespace
    e então ele diz:
  12. Fill_parent para largura e altura, e
    então tem uma tag de fechamento aqui,
  13. e nesse comentário é dito "bote o resto
    do seu current view aqui dentro".
  14. Para complementar, fill_parent
    é a mesma coisa que match_parent.
  15. É apenas uma versão mais antiga dele,
    mas significam a mesma coisa.
  16. Nessa próxima linha é dito que o
    ScrollView só pode conter um item.
  17. Parece que esse era o layout
    original de alguém, e
  18. então para botarem dentro de um
    ScrollView, só fizeram com que
  19. o ScrollView fosse o parent view,
    e o layout linear o child view.
  20. OK, essa foi uma resposta útil,
    então vamos voltar
  21. e ver se existem outras soluções.
  22. Essa pessoa está descrevendo
    a mesma coisa.
  23. Eles tem um layout XML e
    acho que querem adicionar rolagem.
  24. Geralmente, não leio a pergunta
    inteira em detalhes.
  25. Vou direto para a resposta.
  26. Essa pessoa diz:
  27. "Já tentou incluir todo seu XML
    num parent ScrollView?"
  28. E então eles dão um exemplo
    de ScrollView, e
  29. o child é o RelativeLayout.
  30. e então fecham o ScrollView
    com uma tag.
  31. É tudo o que tem neste tópico.
  32. Mas parece que os dois resultados
    da busca deram o mesmo conselho
  33. sobre o uso do ScrollView.
  34. Então vamos mudar nossa busca
    para "ScrollView android".
  35. Muito bom.
    Então ele é um view do Android.
  36. E aqui tem uma descrição.
  37. Tem bastante texto aqui, então
    vou pular a leitura, mas
  38. se você quiser dar uma
    olhada, tudo bem.
  39. Então vou voltar.
  40. Prefiro ver um exemplo em código.
  41. Então, os exemplos de código
    que vimos antes eram bons,
  42. e este também é bom.
  43. Então vamos voltar
    para o Android Studio.
  44. Todos aqueles exemplos de XML
    começaram com o ScrollView.
  45. Imediatamente aparece um erro
    dizendo que não tenho a largura
  46. nem a altura do view.
  47. Então só os adicionei e especifiquei
    pra que eles sejam match_parent.
  48. Se eu adicionar uma chave pra fechar,
    então a tag de fechamento aparece.
  49. Então, vou copiar isso
  50. e colar no final do arquivo aqui.
  51. Isso significa que o layout linear
    existente agora é um child do ScrollView.
  52. Vou selecionar tudo isso e tentar
    fazer a indentação com quatro espaços,
  53. pra que fique mais fácil de ler
    como um child do ScrollView.
  54. No Android Studio, se eu clicar
    no menu Edit, vou no Indent Selection,
  55. e o programa fará a indentação
    com quatro espaços.
  56. Pronto.
    Agora parece melhor.
  57. Oh, mas tem um erro aqui.
  58. Ele diz: "o namespace 'android' não
    está vinculado."
  59. Posso clicar para mais detalhes.
  60. Ele diz: "Essa inspeção serve
    para checar prefixos
  61. de namespace sem vínculo no XML.
  62. Se você lembrar lá trás
    na primeira aula,
  63. eu disse que o android: vem
    desse namespace aqui.
  64. Então eu acho que precisamos
    copiar isso e botar aqui.
  65. Você deve também mover
    o tools namespace pra cá.
  66. O tools namespace serve para fornecer
    atributos adicionais que você pode ter
  67. no seu XML para ajudar no debug e
    construção do seu app.
  68. OK, agora irei rodar isso
    no meu dispositivo agora.
  69. OK, não há diferença visível
    no app pois não há conteúdo suficiente
  70. no formulário de pedidos
    para que precise da barra de rolagem.
  71. Para testar isso de fato,
    preciso adicionar mais views nesse layout.
  72. Farei o mesmo truque de antes.
  73. Vou copiar todos esses views e colar
    no layout pra que tenhamos
  74. um formulário de pedidos longo.
  75. OK, agora o formulário
    está bem longo e tem rolagem.
  76. Isso é empolgante!
  77. Se eu rotacionar o dispositivo,
    a rolagem continua.
  78. Agora posso desfazer essas mudanças
    e ir de volta ao meu formulário original.
  79. Mas vou deixar
    o ScrollView lá,
  80. pois nosso app funcionará melhor
    em todos os dispositivos.
  81. Para usuários com dispositivos
    menores que esse,
  82. ainda será possível rolar
    e visualizar todos os campos.