[Picture1 [Picture 2 ] Я пытался построить два GridView в стеке, но невозможно прокрутить их вместе. То, что я хочу, это встроить в GridView Stack много GridView и прокрутить их вместе, пожалуйста, помогите мне. Я попытался построить два GridView в стеке, но невозможно прокрутить их вместе. Что я хочу, так это встроить GridView в один стек и прокрутить их вместе. 1007 * Вот мой исходный код.
Пожалуйста, помогите!
class JourneyGrid extends StatefulWidget {
@override
_JourneyGridState createState() => _JourneyGridState();
}
class _JourneyGridState extends State<JourneyGrid> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: <Widget>[
Column(
children: <Widget>[
GridView.count(
shrinkWrap: true,
crossAxisCount: 1,
children: <Widget>[
createGridItemChauffeur(1),
],
),
GridView.count(
shrinkWrap: true,
crossAxisCount: 3,
children: <Widget>[
createGridItemCoteChauffeur(1),
createGridItemCoteChauffeur(2),
createGridItemCoteChauffeur(3),
createGridItemCoteChauffeur(4),
createGridItemCoteChauffeur(5),
createGridItemCoteChauffeur(6),
createGridItemCoteChauffeur(7),
createGridItemCoteChauffeur(8),
createGridItemCoteChauffeur(9),
createGridItemCoteChauffeur(10),
createGridItemCoteChauffeur(11),
],
),
],
),
],
),
);
}
// Create widgets
Widget createGridItemChauffeur(int position){
var color = Colors.white;
var text = "";
switch(position) {
case 1:
color = Colors.white;
text = "Le conducteur";
break;
}
return Builder(builder: (context) {
return Padding(
padding:
const EdgeInsets.only(left: 5.0, right: 200.0, bottom: 260, top: 5),
child: Card(
elevation: 10,
color: color,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(10)),
side: BorderSide(color: Colors.white),
),
child: InkWell(
onTap: () {
//gestion du pupop text
//showPopup(context, _popupBody(condition, niveau, document, pension, Inscription, PremiereTranche, DeuxiemeTranche, TroisiemeTranche, Total), '$text');
},
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(text,
style: TextStyle(color: Colors.black),
),
)
],
),
),
),
),
);
});
}
Widget createGridItemCoteChauffeur(int position){
var color = Colors.white;
var text = "";
switch(position) {
case 1:
color = Colors.green;
text = "Le conducteur";
break;
case 2:
color = Colors.white;
text = "Le conducteur";
break;
case 3:
color = Colors.white;
text = "Le conducteur";
break;
case 4:
color = Colors.white;
text = "Le conducteur";
break;
case 5:
color = Colors.white;
text = "Le conducteur";
break;
case 6:
color = Colors.white;
text = "Le conducteur";
break;
case 7:
color = Colors.white;
text = "Le conducteur";
break;
case 8:
color = Colors.white;
text = "Le conducteur";
break;
case 9:
color = Colors.white;
text = "Le conducteur";
break;
case 10:
color = Colors.white;
text = "Le conducteur";
break;
case 11:
color = Colors.white;
text = "Le conducteur";
break;
}
return Builder(builder: (context) {
return Padding(
padding:
const EdgeInsets.only(left: 5.0, right: 50.0, bottom: 20, top: 5),
child: Card(
elevation: 10,
color: color,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(10)),
side: BorderSide(color: Colors.white),
),
child: InkWell(
onTap: () {
//gestion du pupop text
//showPopup(context, _popupBody(condition, niveau, document, pension, Inscription, PremiereTranche, DeuxiemeTranche, TroisiemeTranche, Total), '$text');
},
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(text,
style: TextStyle(color: Colors.black),
),
)
],
),
),
),
),
);
});
}
}