[英]Add RTL to ListView.builder horizontal flutter
I am trying to make ListView.builder
horizontal scrolling from right to left我正在尝试使
ListView.builder
从右到左水平滚动
My code:我的代码:
SliverToBoxAdapter(
child: Container(
height: MediaQuery.of(context).size.height / 4.5,
margin: const EdgeInsets.only(bottom: 5.0, top: 10.0),
child: ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: list.length,
itemBuilder: (BuildContext context, int index) {
return InkWell(/* ... */)
}
),
),
);
You just need to add reverse parameter to the ListView您只需要将反向参数添加到 ListView
here is an example:这是一个例子:
ListView.builder(
reverse: true,
scrollDirection: Axis.horizontal,
itemCount: list.length,
itemBuilder: (context, position) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
child: Text(list[position]),
color: Colors.grey,
height: 10,
width: 10,
),
);
},
)
best way to make it is to wrap your ListView with Directionality
widget with TextDirection.rtl
like following code最好的方法是使用
TextDirection.rtl
将 ListView 与Directionality
小部件包装起来,如下面的代码
Directionality(
textDirection: TextDirection.rtl,
child: ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: list.length,
itemBuilder: (BuildContext context, int index) {
return InkWell(/* ... */)
}
),
);
for horizontal用于卧式
ListView.builder(
reverse: true,
scrollDirection: Axis.horizontal,
for vertical垂直
ListView.builder(
reverse: true,
scrollDirection: Axis.vertical,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.