mcSukhi

flutter_screenprogress

Aug 4th, 2019
1,281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. import 'package:flutter/material.dart';
  2.  
  3. void main() => runApp(MyApp());
  4.  
  5. class MyApp extends StatelessWidget {
  6. @override
  7. Widget build(BuildContext context) {
  8. return MaterialApp(
  9. title: 'Flutter Demo',
  10. home: Example(),
  11. );
  12. }
  13. }
  14.  
  15. class ScreenProgress extends StatelessWidget {
  16.  
  17. final int ticks;
  18.  
  19. ScreenProgress({@required this.ticks});
  20.  
  21.  
  22. @override
  23. Widget build(BuildContext context) {
  24. return Row(
  25. children: <Widget>[
  26. tick1(),
  27. spacer(),
  28. line(),
  29. spacer(),
  30. tick2(),
  31. spacer(),
  32. line(),
  33. spacer(),
  34. tick3(),
  35. spacer(),
  36. line(),
  37. spacer(),
  38. tick4(),
  39. ],
  40. );
  41.  
  42.  
  43. }
  44.  
  45. Widget tick(bool isChecked){
  46. return isChecked?Icon(Icons.check_circle,color: Colors.blue,):Icon(Icons.radio_button_unchecked, color: Colors.blue,);
  47. }
  48.  
  49. Widget tick1() {
  50. return this.ticks>0?tick(true):tick(false);
  51. }
  52. Widget tick2() {
  53. return this.ticks>1?tick(true):tick(false);
  54. }
  55. Widget tick3() {
  56. return this.ticks>2?tick(true):tick(false);
  57. }
  58. Widget tick4() {
  59. return this.ticks>3?tick(true):tick(false);
  60. }
  61.  
  62. Widget spacer() {
  63. return Container(
  64. width: 5.0,
  65. );
  66. }
  67.  
  68. Widget line() {
  69. return Container(
  70. color: Colors.blue,
  71. height: 5.0,
  72. width: 50.0,
  73. );
  74. }
  75. }
  76.  
  77. class Example extends StatelessWidget {
  78. @override
  79. Widget build(BuildContext context) {
  80.  
  81. return ScreenProgress(ticks: 3,);
  82. }
  83.  
  84.  
  85.  
  86.  
  87. }
Add Comment
Please, Sign In to add comment