#android #flutter #listview #dart #android-listview
#Android #трепетание #Просмотр списка #dart #android-listview
Вопрос:
Я хочу использовать 4 ListView Builder, которые прокручиваются по горизонтали в SingleChildScrollView, но даже после всех попыток страница не прокручивается по вертикали, кто-нибудь может мне помочь с этим. Пример :
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: getLibrayCourse(),
builder: (context,snapshot){
if(snapshot.connectionState==ConnectionState.waiting){
return Center(child: CircularProgressIndicator());
}
return Container(
padding: EdgeInsets.all(20),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("Free Video Courses",style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 18
),),
SizedBox(height:10),
Container(
height: MediaQuery.of(context).size.height/4,
child: ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: 10,
itemBuilder: (context, index){
return Card(
child: Text("YOYO"),
);
}),
),
Text("Free Video Courses",style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 18
),),
SizedBox(height:10),
Container(
height: MediaQuery.of(context).size.height/4,
child: ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: 10,
itemBuilder: (context, index){
return Card(
child: Text("YOYO"),
);
}),
),
Text("Free Video Courses",style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 18
),),
SizedBox(height:10),
Container(
height: MediaQuery.of(context).size.height/4,
child: ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: 10,
itemBuilder: (context, index){
return Card(
child: Text("YOYO"),
);
}),
),
Text("Free Video Courses",style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 18
),),
SizedBox(height:10),
Container(
height: MediaQuery.of(context).size.height/4,
child: ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: 10,
itemBuilder: (context, index){
return Card(
child: Text("YOYO"),
);
}),
),
],
),
);
},
);
}
Если я использую neverscrollable в своем горизонтальном виджете, он перестанет прокручиваться, так что это проблема
Я попытался добавить высоту контейнера, используя расширенный и т. Д., Но проблема не устранена
Комментарии:
1. всегда показывайте код, в ваших списковых представлениях добавляется физика, которая никогда не прокручивается и должна работать нормально
2. Вы пробовали flutter Slivers?
3. создайте ListView(shrinkWrap: true, primary: false,)
4. Если я использую или никогда не прокручиваю физику, мой просмотр списка остановит прокрутку, и я хочу, чтобы он прокручивался.
5. @AsfarAli Нет, у меня нет
Ответ №1:
Я скопировал и использовал ваш код и просто переместил «столбец» в «SingleChildScrollView». У меня это сработало, как горизонтальная, так и вертикальная прокрутка.
@override
Widget build(BuildContext context) {
return FutureBuilder(
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Center(child: CircularProgressIndicator());
}
return Container(
padding: EdgeInsets.all(20),
child: SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
// your children
]
),
),
);
},
);
}
Я надеюсь, что это было полезно для вас.