list - 实现页面轮播指示器小部件
问题描述
所以,我制作了一个滑动点小部件,它可以正常工作。假设我们将有 20 个菜单。显示 20 个点不是一个好的选择。我怎样才能只显示五个并每 4 页切换到下一个?
class SlideDots extends StatelessWidget {
final int currentIndex;
final int length;
const SlideDots({Key? key, required this.currentIndex, required this.length})
: super(key: key);
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: List.generate(length, (index) => buildDot(index, context)),
);
}
Container buildDot(int index, BuildContext context) {
return Container(
height: 10,
width: 10,
margin: EdgeInsets.only(right: 5),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: currentIndex == index
? Colors.white
: Colors.white.withOpacity(0.5),
),
);
}
}
解决方案
推荐阅读
- c# - 在没有样板的异步代码中进行简单的一般异常处理
- android - Android WebView 无法正确显示统一构建的网页
- sql-server - 如何从 MS SQL Json 字符串数组中选择字符串行?
- tensorflow - 将 32 位浮点 TensorFlow 模型转换为 8 位固定 TensorFlow 模型时出错
- github - 如何删除 GitHub 问题标签?
- ios - 带有自定义金属内核的核心图像过滤器不起作用
- javascript - 如何将代码分成单独的文件?
- javascript - 丰富的数据表在单击复选框时突出显示选定的行
- angular - 角度数据传输和使用
- php - codeigniter 和 ionic 应用程序中 RESTful api 中的发布请求问题