Russian subtitles

← 13-08 Scrolling Along - Solution

Get Embed Code
13 Languages

Showing Revision 1 created 10/07/2015 by sp15.

  1. Давайте поищем в Google, как это делать.
  2. В поисковой строке я набираю: «как
    прокручивать экран в android-приложении».
  3. Посмотрим на первый результат поиска.
  4. Вопрос вот какой: как сделать так, чтобы
    мой экран мог прокручиваться вниз?
  5. Очень похоже не то, что нам надо.
  6. Переходим вниз к части с ответом,
    напротив которой
  7. зеленая галочка и много отзывов.
  8. Вероятно, это хорошее решение.
  9. В нем говорится: «Просто поместите
    все это внутри ScrollView».
  10. Далее приводится пример, ScrollView,
  11. обозначается пространство имен, а также
  12. Fill_parent для ширины и высоты,
    за которым следует закрывающий тег,
  13. а комментарий вот тут советует
    добавить остаток текущего view вот сюда.
  14. Для справки, fill_parent
    означает то же самое, что и match_parent.
  15. Это просто более старая версия,
    но они означают одно и то же.
  16. На следующей строке мы видим, что
    ScrollView может содержать один объект.
  17. Скорее всего, то была
    чья-то изначальная разметка,
  18. а затем, чтобы добавить ее
    к scroll view, они сделали
  19. scroll view родительским view,
    а линейную разметку — дочерним.
  20. ОК, это был полезный источник, а теперь
    давайте вернемся
  21. и поищем, есть ли другие решения.
  22. Этот пользователь описывает то же самое.
  23. У них есть XML-разметка, и,
    видимо, они хотят сделать прокрутку.
  24. Обычно я не прочитываю
    всю информацию детально.
  25. Я сразу перехожу к ответу на вопрос.
  26. Этот пользователь спрашивает,
  27. пробовали ли вы включить весь
    XML в родительский ScrollView?
  28. Затем приводится пример
    ScrollView, а после этого
  29. дочерний элемент — RelativeLayout.
  30. После этого следует закрывающий тег
    ScrollView.
  31. Это все, что дается в этом источнике.
  32. Но, похоже, оба поисковых результата
    дают одинаковый совет
  33. по использованию ScrollView.
  34. Давайте попробуем изменить поисковый
    запрос на вариант ScrollView android.
  35. Отлично. Итак, вот view в Android.
  36. А здесь приводится описание.
  37. Оно включает много текста,
    поэтому я его пролистаю,
  38. но вы при желании можете изучить.
  39. Теперь я нажму «Назад».
  40. Я предпочитаю рассматривать пример кода.
  41. Итак, примеры кода до этого
    были неплохими образцами,
  42. этот тоже довольно полезный.
  43. Давайте перейдем обратно в Android Studio.
  44. Все приведенные примеры XML
    начинались с ScrollView.
  45. Сразу же я получаю ошибку, что
    у меня недостаточное значение ширины
  46. и высоты для этого view.
  47. Итак, я просто добавила эти значения
    и сделала их match_parent.
  48. Если я добавлю закрывающую скобку, то
    сразу же получу здесь закрывающий тег.
  49. Я скопирую эту часть
    и вставлю в конец вот этого файла.
  50. Это значит, что теперь
    существующая линейная разметка
  51. стала дочерним элементом
    данного ScrollView.
  52. Я выберу всю эту часть
    и попробую разделить четырьмя пробелами,
  53. чтобы ее было легче прочесть как
    дочерний элемент ScrollView.
  54. В Android Studio, если кликнуть на
    меню «Редактировать»,
  55. можно перейти к пункту «Выбор разметки»
    и выполнить разделение на четыре части.
  56. Вот так. Выглядит гораздо лучше.
  57. О, но ошибка здесь осталась.
  58. Она говорит,
    ключевое слово android не связано.
  59. Можно кликнуть для получения деталей.
  60. Здесь сказано, что эта проверка ищет
    несвязанные префиксы в XML.
  61. Если вы помните, в первом уроке
  62. я говорила, что двоеточие Android берется
    отсюда, из ключевого слова.
  63. Я думаю, нам нужно скопировать эту часть
    и вставить вот сюда.
  64. Также нужно переместить
    область имен инструментов сюда.
  65. Область имен инструментов обеспечивает
    дополнительные атрибуты, которые можно
  66. добавить в XML для отладки и
    построения приложения.
  67. OК, теперь я запущу
    это на своем устройстве.
  68. В приложении визуально ничего
    не изменилось, так как в нем недостаточно
  69. контента для того, чтобы форму
    можно было сделать прокручиваемой.
  70. Для нормального тестирования
    мне нужно добавить
  71. больше информации на этот экран.
  72. Я прибегну к хитрости, как и до этого.
  73. Я скопирую все эти views, а затем
    вставлю их в разметку так, чтобы
  74. получить очень длинную форму.
  75. Хорошо, теперь форма заказа
    длинная и она прокручивается.
  76. Получилось здорово.
  77. Если перевернуть устройство,
    прокрутка продолжает работать.
  78. Теперь я могу отменить изменения и
    вернуться к исходной форме заказа.
  79. Однако я по-прежнему хочу
    оставить ScrollView, поскольку
  80. это позволит приложению лучше
    работать на всех устройствах.
  81. На более коротких устройствах
    пользователи также смогут
  82. выполнять прокрутку и видеть все поля.