diff options
author | Hritik Chouhan <hritikc3961@gmail.com> | 2022-09-01 19:15:56 +0200 |
---|---|---|
committer | Hritik Chouhan <hritikc3961@gmail.com> | 2022-09-16 17:25:01 +0200 |
commit | 5559cdb261cfd3e69daa2349906f071dc2491c0d (patch) | |
tree | 12a530a7ab6b8f5fc758f228bf1729e733db9aa8 /lib/widgets/Right_climate.dart | |
parent | b7ba5e78b0ca5245cd9c09313d40561e75d0b120 (diff) |
Upload Flutter-HVAC application for IVI
Flutter hvac app which sets value to KUKSA.VAL like
Fan speed,left and right zone climate temperature,
AC vent direction, Air circulation,Front and Rear Wind
shield defrost.
Update UI and removed Unused code.
Bug-AGL: SPEC-4546
Change-Id: I57f7a9a2954520f4bb781a5ec02be612d72cf404
Signed-off-by: Hritik Chouhan <hritikc3961@gmail.com>
Diffstat (limited to 'lib/widgets/Right_climate.dart')
-rw-r--r-- | lib/widgets/Right_climate.dart | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/lib/widgets/Right_climate.dart b/lib/widgets/Right_climate.dart new file mode 100644 index 0000000..d47a659 --- /dev/null +++ b/lib/widgets/Right_climate.dart @@ -0,0 +1,115 @@ + +// SPDX-License-Identifier: Apache-2.0 + + +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:scrollable_positioned_list/scrollable_positioned_list.dart'; +import 'package:flutter_hvac/kuksa-server/vehicle_methods.dart'; +import 'package:flutter_hvac/provider.dart'; +import 'package:flutter_hvac/size.dart'; + +class ScrollContainerRight extends ConsumerWidget { + WebSocket socket; + ScrollContainerRight({Key? key, required this.socket}) : super(key: key); + + List<int> mylist = [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + ]; + + + final ItemScrollController itemScrollController = ItemScrollController(); + final ItemPositionsListener itemPositionsListener = + ItemPositionsListener.create(); + + @override + Widget build(BuildContext context, ref) { + int val = ref.watch(RightSlider).toInt(); + + VISS.set(socket,ref, 'Vehicle.Cabin.HVAC.Station.Row1.Right.Temperature', + mylist[val].toString()); + VISS.set(socket, ref,'Vehicle.Cabin.HVAC.Station.Row2.Right.Temperature', + mylist[val].toString()); + + if (itemScrollController.isAttached) { + itemScrollController.scrollTo( + index: val.toInt()+2, + duration: Duration(milliseconds: 500), + curve: Curves.easeInOutCubic, + alignment: 1); + } + + + return SingleChildScrollView( + child: SizedBox( + height: SizeConfig.screenHeight*0.30, + width: SizeConfig.screenWidth*0.25, + child: AnimatedContainer( + // color: Colors.red, + duration: Duration(milliseconds: 300), + decoration: BoxDecoration( + border: Border.all( + color: Colors.white, + width: 2, + ), + borderRadius: BorderRadius.circular(12), + ), + child: ScrollablePositionedList.builder( + physics: NeverScrollableScrollPhysics(), + scrollDirection: Axis.vertical, + itemCount: mylist.length, + itemScrollController: itemScrollController, + itemPositionsListener: itemPositionsListener, + itemBuilder: (context, index) { + return Container( + decoration: BoxDecoration( + + gradient: index == val + ? RadialGradient( + colors: [Colors.white54, Colors.black], radius: SizeConfig.safeBlockVertical*0.7) + : null, + ), + child: ListTile( + subtitle: Center( + child: Text( + '' + mylist[index].toString() + '°', + style: index == val ? TextStyle( + color: Colors.lightBlueAccent, + fontWeight: FontWeight.w700, + fontSize: SizeConfig.fontsize*4, + ):TextStyle( + color: Colors.white54, + fontWeight: FontWeight.w700, + fontSize: SizeConfig.fontsize*4, + ), + ), + ), + + minVerticalPadding: 5, + + ), + ); + }), + ), + ), + ); + } +} |