guide_screen.dart 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import 'package:flutter/material.dart';
  2. class GuideScreen extends StatelessWidget {
  3. const GuideScreen({Key? key}) : super(key: key);
  4. @override
  5. Widget build(BuildContext context) {
  6. return Guide();
  7. }
  8. }
  9. class Guide extends StatefulWidget {
  10. const Guide({Key? key}) : super(key: key);
  11. @override
  12. _GuideScreenState createState() => _GuideScreenState();
  13. }
  14. class _GuideScreenState extends State<Guide>
  15. with SingleTickerProviderStateMixin {
  16. late AnimationController _controller;
  17. @override
  18. void initState() {
  19. super.initState();
  20. _controller = AnimationController(vsync: this);
  21. }
  22. @override
  23. void dispose() {
  24. super.dispose();
  25. _controller.dispose();
  26. }
  27. @override
  28. Widget build(BuildContext context) {
  29. return Container(
  30. child: PageView.builder(
  31. itemBuilder: _pageItemBuilder,
  32. //当页面选中后回调此方法
  33. onPageChanged: (int index) {
  34. print("当前页面$index");
  35. },
  36. //值为flase时 显示第一个页面 然后从左向右开始滑动
  37. //值为true时 显示最后一个页面 然后从右向左开始滑动
  38. reverse: false,
  39. //滑动到页面底部无回弹效果
  40. physics: BouncingScrollPhysics(),
  41. //横向滑动切换
  42. scrollDirection: Axis.horizontal,
  43. ),
  44. );
  45. }
  46. Widget _pageItemBuilder(BuildContext context, int index) {
  47. return Stack();
  48. }
  49. }