diff options
author | Hritik Chouhan <hritikc3961@gmail.com> | 2022-09-01 20:46:09 +0200 |
---|---|---|
committer | Hritik Chouhan <hritikc3961@gmail.com> | 2022-09-16 18:24:43 +0200 |
commit | 10945b8056eb2b228c156918a3505882a49a79b8 (patch) | |
tree | c8190f53a85ceaf31d9b978cb3d61941bb7a8bc4 /lib/widgets/fuel_and_speed.dart | |
parent | cb0d87bfb6b6daf9ad22ab76d333e70451602406 (diff) |
Upload Flutter-Dashboard app for IVI
Flutter Dashboard app which shows Tyres Pressure,
Child lock status , Current Location,Speed,RPM,outside
and inside Temperature , Average fuel Consumption.
update UI and Removed Unused code.
Moved kuksa authtoken and mapbox access token and other
things to config file.
Bug-AGL: SPEC-4547
Signed-off-by: Hritik Chouhan <hritikc3961@gmail.com>
Change-Id: I14f42ed453c8279a1e89f8835d2b24e07e4ce376
Diffstat (limited to 'lib/widgets/fuel_and_speed.dart')
-rw-r--r-- | lib/widgets/fuel_and_speed.dart | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/lib/widgets/fuel_and_speed.dart b/lib/widgets/fuel_and_speed.dart new file mode 100644 index 0000000..2ee902e --- /dev/null +++ b/lib/widgets/fuel_and_speed.dart @@ -0,0 +1,111 @@ +// SPDX-License-Identifier: Apache-2.0 +import 'package:dashboard_app/size.dart'; +import 'package:flutter/src/foundation/key.dart'; +import 'package:flutter/src/widgets/framework.dart'; +import 'package:flutter/material.dart'; +import 'package:percent_indicator/circular_percent_indicator.dart'; +import 'package:percent_indicator/linear_percent_indicator.dart'; + + + +class SpeedAndFuel extends StatelessWidget { + double fuel; + double speed; + SpeedAndFuel({Key? key, required this.fuel, required this.speed}) + : super(key: key); + + @override + Widget build(BuildContext context) { + double width = MediaQuery.of(context).size.width; + return SizedBox( + width: width * 0.4, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + CircularPercentIndicator( + radius: SizeConfig.fontsize * 1.6, + percent: fuel / 100, + lineWidth: SizeConfig.fontsize / 2, + + backgroundColor: Colors.lightBlue.shade100, + progressColor: fuel < 25 + ? Colors.redAccent + : fuel < 50 + ? Colors.orange + : Colors.green, + animation: true, + circularStrokeCap: CircularStrokeCap.round, + animateFromLastPercent: true, + center: Text( + fuel.toString() + ' %', + style: SizeConfig.smallnormalfont, + ), + footer: Text( + 'fuel', + style: SizeConfig.smallnormalfont2, + ), + ), + CircularPercentIndicator( + radius: SizeConfig.fontsize * 1.6, + percent: speed / 300, + lineWidth: SizeConfig.fontsize / 2, + backgroundColor: Color.fromARGB(255, 176, 213, 195), + progressColor: Colors.lightBlueAccent, + animation: true, + circularStrokeCap: CircularStrokeCap.round, + animateFromLastPercent: true, + center: Text( + speed.toString(), + style: SizeConfig.smallnormalfont, + ), + footer: Text( + 'Speed in KM/H', + style: SizeConfig.smallnormalfont2, + ), + ), + ], + ), + ); + } +} + +class Rpm extends StatelessWidget { + double rpm; + Rpm({Key? key, required this.rpm}) : super(key: key); + + @override + Widget build(BuildContext context) { + return SizedBox( + height: SizeConfig.safeBlockVertical * 9, + width: SizeConfig.safeBlockHorizontal * 35, + child: Column( + mainAxisAlignment: MainAxisAlignment.end, + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Text( + "Engine Status", + style: SizeConfig.smallnormalfont2, + ), + LinearPercentIndicator( + backgroundColor: Colors.white70, + addAutomaticKeepAlive: true, + progressColor: Colors.lightBlueAccent, + animateFromLastPercent: true, + animation: true, + animationDuration: 500, + percent: rpm / 8000, + barRadius: Radius.circular(15), + leading: Text( + 'RPM', + style: SizeConfig.smallnormalfont, + ), + trailing: Text( + rpm.toString(), + style: SizeConfig.smallnormalfont2, + ), + ), + ], + ), + ); + } +} |