问题描述
Container(
height: 200,width: 200,// constraints:
// BoxConstraints(
// maxHeight:550
// ),child: Swiper(
scrollDirection: Axis.horizontal,itemBuilder: (BuildContext context,int index) {
Map product=realSwiperData[index];
return InkWell(
onTap: () {
print('/collections/${product['link']}');
},child: CachednetworkImage(
imageUrl:imageHost+product['href'],fit: BoxFit.fill,placeholder: (context,url) => Center(child: CircularProgressIndicator()),errorWidget: (context,url,error) => Center(child: Icon(Icons.error)),)
);
},itemCount: realSwiperData?.length,//pagination: new SwiperPagination(),autoplay: realSwiperData.length>1,viewportFraction:1,// 当前视窗展示比例 小于1可见上一个和下一个视窗
scale: 1,),
问题:
如何更改此代码以使其向后(或从右到左)循环而不是从左到右?我尝试将 private void button2_Click(object sender,EventArgs e)
{
projInfo.Selectedindex = (projInfo.Selectedindex + 1) % projInfo.TabCount;
}
更改为+1
,但是没有运气。
解决方法
将+1
更改为-1
是正确的方向。当当前选定的索引为0
而下一个索引为tabCount-1
时,您只需要处理一个特殊情况。
private void button2_Click(object sender,EventArgs e)
{
var newIndex = projInfo.SelectedIndex - 1;
if (newIndex < 0) newIndex = projInfo.TabCount - 1;
projInfo.SelectedIndex = newIndex;
}