Я получаю данные из API. Я перечисляю эти данные в сетке. После каждого (index % 6 == 0)
я хочу показать sevenh_item с crossAxisCount: 1
в виде сетки. Если (index % 6 == 0)
не верно , я хочу показать any_item с crossAxisCount: 2
в виде сетки.
sevenh_item = элемент сетки adbanner;
, а __
any_item = любой элемент сетки с данными из базы данных.
Expanded(
child: FutureBuilder<List<Item>>(
future: xtraDataAvailable == false
? fetchItems(0, 10)
: fetchItems(skip, limit),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.data != null) {
return NotificationListener(
child: GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
),
itemCount:
_search.isEmpty ? itemsgrid.length : _search.length,
itemBuilder: (context, index) {
if (index != 0 && index % 6 == 0) {
return Container(
margin: EdgeInsets.only(bottom: 20.0),
// sevent_item, the banner has crossAxisCount: 1
child: Text('seventh_item'),
),
);
} else {
// any_item, any item from db and has crossAxisCount: 2
return Container(child: Text('any_item')),
}
)
)
Примечание Существует более удобный способ обновления crossAxisCount
в виде сетки. Я пробовал это с сеттером, но он не работает, как ожидалось. Просто хочу сделать эту работу. Спасибо.