Вы можете подписаться на событие window.resize, используя функцию rxjs fromEvent:
fromEvent(window, 'resize')
.pipe(
map(event => (event.target as any).innerWidth),
startWith(window.innerWidth)
).subscribe(width => {
this.columns = width <= 425 ? 1 : 3;
});
и в своем html-файле присвойте cols
свойству columns
<mat-grid-list [cols]="columns" rowHeight="2:2" gutterSize="10">
Такжеиспользуйте gutterSize
для определения расстояния между элементами.
Пожалуйста, не забудьте отписаться от подписки window.resize.