如何在listview.builder()中进行自动间距。例如,我在列中需要使用MainAxisAlignment.spaceEvenly
之类的东西,但是在list view.builder()中需要它。我将有两个或三个不可滚动的水平因此,我需要为不同的屏幕尺寸在项目之间留出间距。您能帮我吗?
ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: 3,//list.length expected two or three
itemBuilder: (BuildContext context, int index) {
return Container(
height: 100,
width: 100,
decoration: BoxDecoration(
borderRadius: const BorderRadius.all(Radius.circular(10.0)),
color: Colors.amber,
border: Border.fromBorderSide(
BorderSide(
color: Color(0xFF8D4AE9),
width: 1.0,
),
),
),
);
},
),
答案 0 :(得分:0)
根据需要添加边距和填充。
ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: 7,//list.length expected two or three
itemBuilder: (BuildContext context, int index) {
return Container(
height: 100,
width: 100,
margin: EdgeInsets.all(10),// add margin
padding: EdgeInsets.all(10),// add padding
decoration: BoxDecoration(
borderRadius: const BorderRadius.all(Radius.circular(10.0)),
color: Colors.amber,
border: Border.fromBorderSide(
BorderSide(
color: Color(0xFF8D4AE9),
width: 1.0,
),
),
),
);
},
)
答案 1 :(得分:0)
您可以尝试在所需的内容之间添加具有固定的SizedBox
或height:
或什至两者都固定的width:
。另一种解决方案是将Padding
添加为相等的值。
答案 2 :(得分:0)
首先,如果要水平滚动列表,则必须用容器,卡片或大小框包装列表视图。接下来,如何将返回宽度与填充物一起填充到填充物上。
尝试以下代码:
public class MachineChangeViewModel : Screen
{
public MachineChangeViewModel()
{
}
public MachineChangeViewModel MachineFromSite(int siteId, int machineFromSiteId, DateTime dateFromSite)
{
DisplayName = "Machine From Site";
return this;
}
public MachineChangeViewModel MachineChange(int siteId, int machineFromSiteId, int machineToSiteId, DateTime dateForChange)
{
DisplayName = "Machine Change";
return this;
}
}