首页 > 其他分享 >Flutter用PageView.builder和bottomNavigationBar做出底部小圆点效果

Flutter用PageView.builder和bottomNavigationBar做出底部小圆点效果

时间:2024-11-19 19:43:26浏览次数:3  
标签:index PageView Container builder currentIndex child 100 小圆点

import 'package:flutter/material.dart';


void main(){
  runApp(App());

}

class App extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return MaterialApp(debugShowCheckedModeBanner: false,
    home: GuidePage(),


    );


  }


}
class GuidePage extends StatefulWidget{
  @override
  State<StatefulWidget> createState() =>_GuidePage();
}

class _GuidePage extends State<GuidePage>{
  int currentIndex=0;//这个为当前在那个页面的数值
  List<Widget>pages=[//这个是viewpage中的内容有三个
    Center(child: Container(width: 100,height: 100,child:Icon(Icons.change_history)),),
    Center(child: Container(width: 100,height: 100,child: Icon(Icons.local_florist),),),
    Center(child: Container(width: 100,height: 100,child: Icon(Icons.person),),)

  ];
  void _changedPage(int index){//这个自定义方法在下面viewpage中获取当前页数传入currentIndex
    setState(() {
      currentIndex=index;

    });

  }


  @override
  Widget build(BuildContext context) {
    // TODO: implement build
return Scaffold(body: PageView.builder(创建pageview.builder
  onPageChanged: _changedPage,
  itemBuilder: (context, index) {
  return pages[index];//传入pages的内容


},itemCount: pages.length,),//传入上面定义的pages数量
bottomNavigationBar: //用这个实现小圆点
Container(color: Colors.white,//这里不是小圆点的颜色是背景颜色
child: Row(
  mainAxisAlignment: MainAxisAlignment.spaceAround,//设置小圆点的排列
children: List.generate(pages.length, (index) {//List.generate创建小圆点
    return Container(width: 20,height: 20,//小圆点的大小
decoration: BoxDecoration(shape: BoxShape.circle,//设置小圆点为圆形
    color: currentIndex==index?Colors.grey:Colors.black//用当前index值与currentIndex对比来改变颜色


    ),);

  }),

),),

);


  }


}

做的有点丑但主要是达到效果

标签:index,PageView,Container,builder,currentIndex,child,100,小圆点
From: https://blog.csdn.net/awildpig110/article/details/143893311

相关文章

  • HbuilderX 插件开发-模板创建
    实现思路使用HbuilderX打开某个文档时右键点击的时候获取当前打开的文档内容使用API替换为自己的模板示例package.json{ "id":"SL-HbuilderX-Tool", "name":"SL-HbuilderX-Tool", "description":"快速创建html,vue2模板", "displayName":......
  • C++builder中的人工智能(29):如何在Windows项目中导入FANN库
    这篇文章旨在使用由SteffenNissen开发的FANN库实现人工神经网络。FANN库支持20多种编程语言,包括Delphi和C++Builder。您可以在FANN的官方网站上找到完整信息和文档,并下载FANN的源文件。步骤:下载FANN库:从Nissen的官方网站下载FANN库包(http://leenissen.dk),包含二进制文......
  • C++builder中的人工智能(27):如何将 GPT-3 API 集成到 C++ 中
    人工智能软件和硬件技术正在迅速发展。我们每天都能看到新的进步。其中一个巨大的飞跃是我们拥有更多基于自然语言处理(NLP)和深度学习(DL)机制的逻辑性更强的AI聊天应用。有许多AI工具可以用来开发由C、C++、Delphi、Python等编程语言驱动的AI。本文将解释如何在C++Builder中使用......
  • C++builder中的人工智能(28):FANN: Fast Artificial Neural Networks快速人工神经网络(ANN
    这篇文章全面介绍了快速人工神经网络(ANNs)的世界,探讨了它们在现代计算智能中的重要地位、核心特点、应用领域以及未来发展。快速人工神经网络库(FastArtificialNeuralNetworkLibrary,简称FANN)是一个免费的开源神经网络库,它使用C语言实现了多层人工神经网络,并支持全连接和稀疏......
  • String,StringBuffer、StringBuilder的区别
    1、可变性String:是不可变的、其内部是fianl修饰的,每次变更都会创建一个新的对象。StringBuffer、StringBuilder是可变的,字符串的变更是不会创建新对象的。2、线程安全性String是不变的,线程安全的。StringBuffer是线程安全的,每次操作方法是都会添加synchronized同步关键字。......
  • 怎么用HBuilderX打包多客陪玩公众号小程序系统源码前端
    需要准备东西如下(​​​​​​​开源版源码下载):1.uniapp账号:用于创建应用appID,方便管理和发行自己的内容2.下载多客线上线下陪玩系统源码,解压并导入到HB开发工具3.修改配置文件siteinfo(自己域名)  manifest(平台参数)4.发行PC或H5、web网页5.导入打包好的陪玩软件前端代码......
  • String、StringBuffer、StringBuilder的区别
    在Java中,​​String​​​、​​StringBuffer​​​、和​​StringBuilder​​都是用于处理字符串的类,但它们之间存在一些关键差异,主要涉及可变性、线程安全性和性能: 1.String:-不可变性:​​String​​对象一旦被创建,其内容就不能改变。任何对​​String​​的操作,比如拼接......
  • String、StringBuffer、StringBuilder的区别
    在Java中,​​String​​​、​​StringBuffer​​​、和​​StringBuilder​​都是用于处理字符串的类,但它们之间存在一些关键差异,主要涉及可变性、线程安全性和性能: 1.String:-不可变性:​​String​​对象一旦被创建,其内容就不能改变。任何对​​String​​的操作,比如拼接......
  • JAVA中StringBuilder介绍与实现
    StringBuilder是Java中的一个类,它在java.lang包下。StringBuilder用于创建可变的字符序列,即可以在不生成大量临时对象的情况下修改字符串。StringBuilder是线程不安全的,因此它的操作速度比StringBuffer快,但在多线程环境下需要额外的同步措施。StringBuilder提供......
  • SketchUp Pro 套件中的 Style Builder 有什么作用
    SketchUpPro套件中的StyleBuilder提供用户个性化样式创建工具,能自定义线条样式以制造独特的呈现效果,增强图示个性,支持载入手绘线条,赋予设计作品更有温度的觉感。StyleBuilder是SketchUpPro的一部分,允许用户轻松设计和创建自己的笔触样式,让模型呈现出手绘效果。使用这一工具,你......