Angular Material Tutorial - 14 - Grid List

Codevolution
11 Mar 201905:04

Summary

TLDRВ этом видео рассматривается компонент Material Grid List, который представляет собой двумерный список, сформированный в сетку. Создание компонента включает импорт модуля, определение количества колонок, а также добавление элементов Grid Tile с указанием их заголовков. Также обсуждаются возможности настройки высоты рядов, использования row span и col span для изменения размеров элементов, и управления промежутками между элементами с помощью gutter size. В видео демонстрируется, как эти настройки влияют на отображение сетки в браузере.

Takeaways

  • 📦 Материалы Grid List - это двумерный вид списка, который организуется в сетчатый макет.
  • 🔄 Импортируйте модуль Material Grid List из библиотеки Material.
  • 📊 Создание компонента Grid List с атрибутом `cols`, который определяет количество колонок в сетке.
  • 🧱 Добавление дочерних компонентов в виде элементов Grid Tile с заголовками для каждого.
  • 🎨 Задание фонового цвета для элементов Grid Tile через файл CSS для лучшего восприятия сетки.
  • 🔢 Количество рядов определяется количеством колонок и количеством элементов, с учетом математической операции.
  • 📏 Атрибуты `rowSpan` и `colSpan` позволяют определить количество рядов и колонок, которые будет занимать каждый элемент.
  • 🚫 Убедитесь, что значение `colSpan` не превышает значения атрибута `cols`, иначе возникнет ошибка.
  • 📐 Вы можете изменить высоту ряда с помощью атрибута `rowHeight`, указав значение, отношение или использование высоты контейнера.
  • 🎭 Три варианта для установки `rowHeight`: фиксированное значение, отношение к ширине колонки или соответствие высоте контейнера.
  • 🔄 Gutter Size определяет пространство между элементами в сетке и изменяется с помощью свойства `gutterSize`.

Q & A

  • Как импортировать модуль для создания сеточного списка в Angular Material?

    -Для создания сеточного списка в Angular Material необходимо импортировать модуль, используя команду `import {MatGridListModule} from '@angular/material'` и добавить `MatGridListModule` в массив материалов.

  • Что делает атрибут 'cols' в компоненте mat-grid-list?

    -Атрибут 'cols' в компоненте `mat-grid-list` указывает количество колонок в сетке.

  • Как добавить фоновый цвет к тайлам в сеточном списке?

    -Чтобы добавить фоновый цвет к тайлам в сеточном списке, необходимо использовать CSS и задать стиль для `mat-grid-tile`, например, `background-color: lightblue;`.

  • Как определяется количество рядов в сеточном списке?

    -Количество рядов в сеточном списке определяется автоматически на основе количества тайлов и заданных колонок. Например, если есть 4 тайла и 2 колонки, будет создано 2 ряда.

  • Можно ли изменить количество рядов или колонок, которые занимает тайл?

    -Да, используя атрибуты 'rowSpan' и 'colSpan', можно указать, сколько рядов или колонок должен занимать каждый тайл.

  • Что произойдет, если значение 'colSpan' превысит количество колонок, указанное в атрибуте 'cols'?

    -Если значение 'colSpan' превысит количество колонок, указанное в атрибуте 'cols', это вызовет ошибку.

  • Какие значения можно указать для атрибута 'rowHeight'?

    -Для 'rowHeight' можно указать фиксированную высоту в пикселях, соотношение высоты и ширины колонок, или 'fit' для автоматического расчета высоты в зависимости от высоты контейнера.

  • Что делает свойство 'gutterSize'?

    -Свойство 'gutterSize' позволяет указать размер промежутков между тайлами в пикселях.

  • Как изменение 'rowHeight' влияет на визуальное представление сеточного списка?

    -Изменение 'rowHeight' позволяет контролировать высоту рядов, что влияет на общий вид сеточного списка, позволяя создавать разнообразные компоновки.

  • Как создать сеточный список с дополнительным пространством между тайлами?

    -Чтобы создать сеточный список с дополнительным пространством между тайлами, необходимо использовать свойство 'gutterSize', указав желаемый размер промежутков в пикселях.

Outlines

00:00

📊 Создание сеточной панели в Angular Material

В данном разделе видео обсматривается функционал создания сеточной панели в Angular Material. Сеточная панель представляет собой двумерный вид списка, который организован в виде сетки. Для начала необходимо импортировать модуль MatGridListModule из библиотеки Angular Material. Затем создается компонент mat-grid-list, который требует атрибута 'cols' для определения количества колонок в сетке. В данном случае выбрано два колонки. В качестве потомков данного компонента создаются элементы mat-grid-tile с заголовками. Для улучшения видимости сетки, добавляется цвет фона для каждого элемента. Зритель может увидеть сетку с двумя колонками и двумя рядами в браузере. Количество рядов определяется количеством тайлов и выбранным количеством колонок. Также можно указать количество строк или колонок, которые должен занимать каждый тайл, с помощью атрибутов 'rowSpan' и 'colSpan'. В видео демонстрируется изменение высоты строки с помощью атрибута 'rowHeight', который может принимать конкретное значение, соотношение относительно ширины колонки или соответствовать высоте контейнера. В конце обсуждается атрибут 'gutterSize', который определяет пространство между тайлами. Все эти настройки помогают создать гибкую и привлекательную сеточную панель в Angular Material.

05:00

🎥 Следующее видео

В конце видео автор обращается к зрителям с приглашением подписаться на канал и ожидать следующего видео, где, предположительно, будут рассмотрены дополнительные аспекты работы с Angular Material или другие темы, связанные с разработкой на платформе Angular.

Mindmap

Keywords

💡material grid list

material grid list - это компонент Angular Material, который представляет собой двумерный список, организованный в сетку. Он используется для создания пользовательского интерфейса с элементами, расположенными в виде сетки. В видео объясняется, как создать и настроить material grid list, включая определение количества колонок и строк, а также настройку высоты и расстояния между элементами.

💡import module

import module - это процесс включения в проект стороннего модуля или библиотеки, которая предоставляет дополнительные функции и возможности. В контексте Angular и视频中, это означает добавление модуля Angular Material для использования компонента material grid list.

💡columns

Колонки - это вертикальные разделы в сетке, в которых размещаются элементы. В видео рассматривается настройка количества колонок в material grid list, что определяет, сколько элементов будет отображаться в каждой строке.

💡rows

Строки - это горизонтальные разделы в сетке, которые формируются на основе количества колонок и элементов в сетке. В видео объясняется, как определить количество строк в material grid list, основываясь на количестве колонок и элементов.

💡grid tile

Grid tile - это ячейка сетки, которая содержит элементы в сетке. В видео рассматривается настройка grid tile, включая установку заголовков и фонового цвета для ячеек сетки.

💡row span

Row span - это атрибут, который определяет, сколько строк один элемент будет занимать в сетке. В видео показано, как использовать row span для изменения высоты элемента, заставляя его растягиваться на несколько строк.

💡col span

Col span - это атрибут, который определяет, сколько колонок один элемент будет занимать в сетке. В видео показано, как использовать col span для изменения ширины элемента, заставляя его растягиваться на несколько колонок.

💡row height

Row height - это высота строки в сетке, которая может быть установлена явно или определена автоматически на основе размера колонок. В видео рассматриваются различные способы задания row height, включая фиксированное значение, соотношение к ширине колонки или автоматическую настройку на основе контейнера.

💡gutter size

Gutter size - это расстояние между ячейками сетки, также известное как промежуток или интервал. В видео показаны способы задания gutter size для создания дополнительного пространства между элементами в сетке.

💡CSS

CSS (Cascading Style Sheets) - это язык стилей, используемый для определения внешнего вида документа, созданного на языке HTML. В видео показано, как использовать CSS для настройки стилей элементов сетки, таких как фоновый цвет и расстояние между ними.

💡Angular Material

Angular Material - это библиотека компонентов, разработанная для использования с фреймворком Angular. Она предоставляет множество готовых компонентов и функций для создания пользовательского интерфейса, включая компонент material grid list, который рассматривается в видео.

Highlights

The introduction of the material grid list, a two-dimensional list view arranged in a grid-based layout.

Importing the MatGridListModule from @angular/material and adding it to the NgModule's imports array.

Creating a grid list with the mat-grid-list component, specifying the number of columns with the cols attribute.

Adding mat-grid-tile components as children to the grid list to create individual tiles with titles.

Using CSS to style the grid tiles, such as adding a light blue background color.

The automatic calculation of rows based on the number of columns and tiles, with an example of 4 tiles fitting into 2 rows with 2 columns each.

Adjusting the layout with rowSpan and colSpan attributes to have tiles span multiple rows or columns.

Ensuring that the colSpan attribute does not exceed the number of columns specified by the cols attribute to avoid errors.

Customizing the height of rows with the rowHeight attribute, with options to set a fixed pixel value, a ratio relative to column width, or fitting to the container's height.

Setting the row height to a fixed pixel value, such as 100 pixels, to uniformly size all rows.

Creating a row height ratio where the row height is a fraction of the column width, like 1/2 the width.

Fitting the row height to the container's height, which adjusts the row height based on the container's dimensions.

Adjusting the spacing between tiles with the gutterSize property, enhancing the visual layout and design.

An example of setting gutter size to 10 pixels to increase the space between individual grid tiles.

A summary of the grid list's capabilities and features in Angular Material, providing a comprehensive understanding of its usage and benefits.

Transcripts

00:00

all right let's take a look at the

00:02

material grid list in this video the

00:05

grid list is basically a two dimensional

00:08

list view that arranged ourselves into

00:10

grid-based layout now the first step is

00:14

to import the module so in material

00:16

Mario Diaz import mat grid list module

00:20

and added to the material array map grid

00:25

list module now we can create a grid

00:28

list the component is mat grid list and

00:33

this component requires a calls

00:37

attribute which specifies the number of

00:39

columns in the grid let's go with two

00:43

columns so calls is equal to two as

00:46

children to this component we specify

00:49

math grid tile components

00:53

title 1 and similarly let's create three

00:57

more also to be able to clearly see the

01:02

grid let's add a background color to the

01:05

tiles so in the CSS file Matt grid tile

01:11

background color light blue now if we

01:16

save this and take a look at the browser

01:18

you can see the grid with two columns

01:20

and two rows the question is how did it

01:25

create the two rows for a grid we always

01:29

specify the number of columns and the

01:31

number of rows is determined by how many

01:33

columns we want and the number of tiles

01:36

specified since we have 4 tiles and two

01:40

columns it can fit only two tiles in

01:43

each row

01:44

hence it creates an additional row to

01:47

fit the next two tiles if you were to

01:50

have five tiles there would be three

01:52

rows so the number of rows is determined

01:55

by some basic math of course you can

01:59

also specify how many rows or columns

02:02

each tile should take up that can be

02:06

specified using the row span and called

02:08

span attributes on tile one if I said

02:12

row span is equal to two and take a look

02:16

at the browser you can see that it takes

02:19

up two rows instead of one similarly if

02:23

I said call span is equal to two

02:28

you can see that it takes up two columns

02:31

instead of one when specifying call span

02:35

though you need to make sure that it

02:37

does not exceed the calls attribute if

02:40

it does it throws an error all right

02:43

next let's talk about the height of each

02:46

row in the grid by default the height of

02:50

a row is equal to the width of a column

02:53

however you can override this using the

02:57

row height attribute and you can specify

03:00

one of the three values the first one is

03:03

a straightforward value so row height is

03:06

equal to a hundred pixels take a look at

03:11

the browser and you can see that each

03:13

row will be a hundred pixels tall the

03:17

second option is to specify the row

03:19

height as a ratio with respect to the

03:23

column width

03:24

for example row height is equal to 2 is

03:29

to 1 this implies that the row height is

03:32

1/2 the column width if the column width

03:35

is 200 pixels then the row height is a

03:39

hundred pixels take a look at the

03:41

browser and you can clearly see from

03:43

each style that the height looks half

03:47

the width the third option is to fit the

03:51

height based on the container so row

03:54

height is equal to fit but this time we

03:58

also need to specify a height for the

04:01

container so style height 200 pixels now

04:06

if we take a look at the browser the

04:09

rows are fit into the container height

04:11

of 200 pixels so each row has a height

04:15

of 100 pixels if there were four rows

04:19

each row would be 50 pixels so as to fit

04:22

the total container height of 200 pixels

04:25

all right the last attribute I want to

04:28

discuss on a good list is the gutter

04:31

size that is spacing between the tiles

04:35

we can specify gutter size using the

04:38

gutter size property let's go with

04:41

gutter size

04:43

is equal to 10 pixels if you save the

04:48

file and take a look at the browser you

04:51

should now see additional spacing

04:52

between the different tiles all right

04:55

that is about the grid list in angular

04:58

material thank you guys for watching

05:00

feel free to subscribe I'll see you guys

05:02

in the next video