YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Russian subtitles

← Width and Height

Get Embed Code
14 Languages

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

  1. Я составляла список гостей для вечеринки.
  2. — Это список гостей на день рождения,
    не так ли, Катерина?
  3. — Да.
  4. — Надеюсь, я есть в этом списке.
  5. — Ну, надо подумать.
  6. — Я чувствую себя неловко.
  7. — Хорошо.
  8. Давайте поговорим о размере
    представлений на экране.
  9. — Мы использовали фиксированную
    высоту в dp, правильно?
  10. — Да, ширину и высоту.
  11. Мы также можем задать
    обтекание контента для представления.
  12. — Да, странный способ
    сказать, что представление должно
  13. охватывать весь контент.
  14. Контент растет — растет и представление,
    контент маленький —
  15. представление уменьшается.
  16. — Да, есть и третий вариант:
    соответствие родительскому представлению.
  17. — Кажется немного странным.
  18. Звучит как сайт знакомств для
    одиноких родителей.
  19. — Не совсем.
  20. Это означает, что
    представление будет совпадать
  21. по ширине или высоте с родительским.
  22. — Да, это имеет смысл.
  23. Я представление, у меня есть родитель,
    и моя ширина и высота будут такими же,
  24. как у родительского представления.
  25. — Точно. Давайте обобщим.
  26. Различные значения, которые можно
    задать для ширины представления,
  27. фиксированные в dp для ширины и высоты.
  28. — Правильно.
    Также можно использовать wrap_content.
  29. А еще мы собираемся попробовать значение
  30. match_parent.
  31. Вот несколько примеров, как различные
    настройки ширины дочерних представлений
  32. в линейной разметке могут влиять
    на конечный интерфейс пользователя.
  33. В этом примере мы задаем
    для каждого дочернего
  34. представления фиксированную ширину 200 dp.
  35. Если контент в каждом
    представлении больше 200 dp,
  36. вы рискуете обрезать его часть, как здесь.
  37. В этом примере мы задаем
    для каждого дочернего представления
  38. ширину wrap content.
  39. Теперь показан весь контент,
    но ширина каждого представления
  40. изменяется в зависимости от его контента.
  41. В этом примере мы задаем для ширины
    значение match parent.
  42. Теперь ширина дочерних представлений
    равна ширине родительской группы.
  43. Независимо от контента внутри них.
  44. Такие же значения можно применить
    и для высоты представлений.
  45. В этом примере мы задаем для высоты
    дочернего представления значение 200 dp.
  46. Если контент в представлении
    выше этого значения,
  47. вы рискуете обрезать часть контента.
  48. В этом примере мы задаем
    для высоты дочернего
  49. представления значение wrap content.
  50. Таким образом, весь контент будет
    показан на экране,
  51. и никакая часть не обрезается, поскольку
    размер текстового представления зависит
  52. от контента внутри него.
  53. В этом примере мы задаем
    для высоты дочернего представления
  54. значение match parent.
  55. Дочернее представление совпадает
    по высоте с родительским,
  56. независимо от контента внутри него.
  57. Давайте откроем XML Visualizer
  58. и попробуем больше походить на наших
    родителей в этом коде.
  59. Мы предоставили ссылку на XML Visualizer
    с начальным кодом
  60. в примечаниях инструктора ниже.
  61. В данном случае LinearLayout —
    это корневое представление разметки,
  62. потому что оно первое и внешнее.
  63. Если задать значение
    match_parent для ширины и высоты
  64. этого корневого представления и задать его
  65. как основную разметку для приложения,
    то эта линейная разметка
  66. будет соответствовать высоте
    и ширине экрана устройства.
  67. Чтобы показать это, я задам
    для фона этой разметки
  68. непрозрачный цвет.
  69. Если я задам серый цвет фона
    для этой разметки,
  70. вы увидите, как серый цвет занимает
    всю ширину и высоту экрана.
  71. Что произойдет, если я изменю ширину или
  72. высоту этих текстовых
    представлений на значение match parent?
  73. Чтобы ясно видеть
    границы каждого представления,
  74. я задам цвет фона для каждого из них.
  75. Теперь изменяю высоту этого
    текстового представления на match parent.
  76. Пишется как match_parent.
  77. Видим, что теперь это представление
    соответствует по высоте родительскому.
  78. К сожалению, оно вытолкнуло
    с экрана все остальное,
  79. так что нам это не нужно.
  80. Давайте вернемся к значению wrap content.
  81. Хорошо.
  82. Теперь изменим значение ширины на
    match parent и посмотрим на результат.
  83. Теперь ширина текстового
    представления равна
  84. ширине родительского,
    которое в свою очередь
  85. совпадает по ширине с экраном устройства.
  86. Если я изменю для других представлений
    значения на match_parent,
  87. они тоже будут соответствовать
    по ширине родительскому.
  88. Хочу обратить внимание еще на один момент.
  89. Когда вы видите атрибут, который
    начинается с layout и подчеркивания,
  90. например layout_height или layout_width,
    это атрибуты разметки
  91. группы представлений.
  92. Они используются родительской группой
    представлений для определения размера
  93. и расположения этих представлений.
  94. А другие атрибуты,
    такие как фон, размер шрифта и текст,
  95. определяют вид отдельного представления.
  96. Но эти параметры разметки группы
    представлений обрабатываются родительским.
  97. Теперь ваш черед поэкспериментировать
    с различными значениями ширины и высоты.
  98. Ссылка на XML Visualizer
    с начальным кодом приведена
  99. в примечаниях инструктора ниже.
  100. Попробуйте изменить значения ширины и
    высоты каждого из текстовых представлений.
  101. Можно задать фиксированное значение в dp,
    значение wrap_content или match_parent.
  102. Помните, что значения ширины и
    высоты не обязательно должны совпадать.
  103. После завершения
    установите этот флажок, чтобы продолжить.