Как сделать страницу во флаттере, которая содержит несколько сливерлистов и сливергид?
" Как создать сетку в виде списка с помощью json API"
Я прошел по приведенной выше ссылке и ее хорошему объяснению, но когда я добавляю еще один список следов с этим кодом и, если попытаться прокрутить очень быстро, что-то происходит с slivergrid, только один элемент будет находиться в slivergrid, пожалуйста, помогите, я новичок в флаттер.
1 ответ
Для main.dart
import 'package:flutter/material.dart';
import './pages/fetch.dart';
void main() {
runApp(new MaterialApp(
home: new fetchPost(),
));
}
Для fetch.dart
class fetch extends StatefulWidget{
fetchPost createState()=> fetchPost();
}
class fetchPost extends State<fetch>{
//Add your own Json fetch function
@override
Widget build(BuildContext context) {
return CustomScrollView(
slivers: <Widget>[
SliverPadding(
padding: EdgeInsets.all(0.0),
sliver :SliverList(
delegate: SliverChildListDelegate([
Column(
children: <Widget>[
//your widgets
firstWidget(),
yourNextWidget(),
],
)
]),
)
)
],
);
}
Widget firstWidget(){
return Column( GridView.builder(
gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount:2,crossAxisSpacing: 0.0, childAspectRatio: 1/1),
itemCount: recent == null ? 0 : list.length,
itemBuilder: (BuildContext context, int index, ) {
return Column(
children: <Widget>[
Card(
child: Column(
children: <Widget>[
new Image.network('asset/image']),
new ListTile(
title: new Text(''),
subtitle: Text("",),
onTap: () {Navigator.push(
context, new MaterialPageRoute(
builder: (context) => new nextclass(),
),
);
},
dense: true,
),
],
),
)
],
);
},shrinkWrap: true,
physics: ClampingScrollPhysics(),
) );
}
Widget nextWidget(){
return Column(
//your custom widget
);
}
}