import 'package:flutter/material.dart'; import 'package:job_app/config/size.dart'; import 'package:job_app/models/slide.dart'; import 'package:job_app/widgets/welcome%20screen/SliderItems.dart'; import 'package:job_app/widgets/welcome%20screen/slideDots.dart'; class WelcomeScreen extends StatefulWidget { @override _WelcomeScreenState createState() => _WelcomeScreenState(); } class _WelcomeScreenState extends State { int _currentPage = 0; final PageController _pageController = PageController(initialPage: 0); _onPageChange(int index) { setState(() { _currentPage = index; _pageController.animateToPage(_currentPage, duration: Duration(milliseconds: 300), curve: Curves.ease); }); } @override Widget build(BuildContext context) { return LayoutBuilder(builder: (context, constraints) { return OrientationBuilder(builder: (context, orientation) { SizeConfig().init(constraints, orientation); return Scaffold( backgroundColor: Colors.white, body: Column( children: [ Expanded( child: PageView.builder( physics: BouncingScrollPhysics(), onPageChanged: _onPageChange, scrollDirection: Axis.horizontal, controller: _pageController, itemCount: SlideList.length, itemBuilder: (context, i) => SliderItems(i), ), ), Padding( padding: EdgeInsets.symmetric( vertical: 2 * SizeConfig.heightMultiplier), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ for (int i = 0; i < SlideList.length; i++) if (i == _currentPage) SlideDots(true) else SlideDots(false) ], ), ), ], ), ); }); }); } }