// // import 'package:flutter/material.dart'; // // class MyHomePage11 extends StatelessWidget { // // @override // // Widget build(BuildContext context) { // // return MaterialApp( // // title: 'Dynamic App Bar', // // theme: ThemeData( // // primarySwatch: Colors.blue, // // ), // // home: DynamicAppBar(), // // ); // // } // // } // // class DynamicAppBar extends StatefulWidget { // // @override // // _DynamicAppBarState createState() => _DynamicAppBarState(); // // } // // class _DynamicAppBarState extends State { // // final ScrollController _scrollController = ScrollController(); // // double _listHeight = 0.0; // Variable to store list height // // @override // // void initState() { // // super.initState(); // // _scrollController.addListener(() { // // // Check if the list has changed and update the height if necessary // // if (_scrollController.hasClients) { // // // Trigger rebuild to recalculate height // // WidgetsBinding.instance?.addPostFrameCallback((_) { // // final double newHeight = _scrollController.position.maxScrollExtent; // // if (newHeight != _listHeight) { // // setState(() { // // _listHeight = newHeight; // // }); // // } // // }); // // } // // }); // // } // // @override // // Widget build(BuildContext context) { // // final double appBarHeight = 250.0; // Default height for the app bar // // final double adjustedHeight = _listHeight > 500.0 // // ? appBarHeight // // : appBarHeight - 50.0; // Adjust height based on list size // // return Scaffold( // // body: CustomScrollView( // // controller: _scrollController, // // slivers: [ // // SliverAppBar( // // expandedHeight: adjustedHeight, // // flexibleSpace: FlexibleSpaceBar( // // centerTitle: true, // // collapseMode: CollapseMode.parallax, // // title: Text( // // 'Dynamic App Bar', // // style: TextStyle( // // color: Colors.white, // // fontSize: // // MediaQuery.of(context).size.width < 600 ? 16.0 : 22.0, // // ), // // ), // // background: ColoredBox( // // color: const Color.fromARGB(255, 246, 248, 252), // // child: Column( // // mainAxisAlignment: MainAxisAlignment.center, // // children: [ // // Padding( // // padding: EdgeInsets.all(8.0), // // child: Icon( // // Icons.person, // // size: MediaQuery.of(context).size.width < 600 ? 48 : 72, // // color: Colors.grey, // // ), // // ), // // Text( // // 'Dr. John Doe', // // style: TextStyle( // // fontSize: MediaQuery.of(context).size.width < 600 // // ? 20.0 // // : 28.0, // // fontWeight: FontWeight.bold, // // color: Colors.black, // // ), // // ), // // SizedBox(height: 8.0), // // Text( // // 'Specialist', // // style: TextStyle( // // fontSize: MediaQuery.of(context).size.width < 600 // // ? 14.0 // // : 18.0, // // color: Colors.black, // // ), // // ), // // ], // // ), // // ), // // ), // // floating: false, // // pinned: true, // // snap: false, // // ), // // SliverList( // // delegate: SliverChildBuilderDelegate( // // (BuildContext context, int index) { // // return ListTile( // // title: Text('Item #$index'), // // ); // // }, // // //childCount: 50, // Number of items in the list // // ), // // ), // // ], // // ), // // ); // // } // // } // import 'package:flutter/material.dart'; // class MyHomePage11 extends StatefulWidget { // @override // _MyHomePageState createState() => _MyHomePageState(); // } // class _MyHomePageState extends State // with SingleTickerProviderStateMixin { // late TabController _tabController; // final ScrollController _scrollController = ScrollController(); // final double adjustedHeight = 250.0; // Adjust as needed // @override // void initState() { // super.initState(); // _tabController = TabController(length: 3, vsync: this); // } // @override // void dispose() { // _tabController.dispose(); // super.dispose(); // } // @override // Widget build(BuildContext context) { // return Scaffold( // body: CustomScrollView( // controller: _scrollController, // slivers: [ // SliverAppBar( // automaticallyImplyLeading: false, // expandedHeight: adjustedHeight, // flexibleSpace: FlexibleSpaceBar( // centerTitle: true, // collapseMode: CollapseMode.parallax, // title: Text( // 'Dynamic App Bar', // style: TextStyle( // color: Colors.white, // fontSize: // MediaQuery.of(context).size.width < 600 ? 16.0 : 22.0, // ), // ), // background: ColoredBox( // color: const Color.fromARGB(255, 246, 248, 252), // child: Column( // mainAxisAlignment: MainAxisAlignment.center, // children: [ // Padding( // padding: EdgeInsets.all(8.0), // child: Icon( // Icons.person, // size: MediaQuery.of(context).size.width < 600 ? 48 : 72, // color: Colors.grey, // ), // ), // Text( // 'Dr. John Doe', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 20.0 // : 28.0, // fontWeight: FontWeight.bold, // color: Colors.black, // ), // ), // SizedBox(height: 8.0), // Text( // 'Specialist', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 14.0 // : 18.0, // color: Colors.black, // ), // ), // Text( // 'Specialist', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 14.0 // : 18.0, // color: Colors.black, // ), // ), // Text( // 'Specialist', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 14.0 // : 18.0, // color: Colors.black, // ), // ), // Text( // 'Specialist', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 14.0 // : 18.0, // color: Colors.black, // ), // ), // Text( // 'Specialist', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 14.0 // : 18.0, // color: Colors.black, // ), // ), // Text( // 'Specialist', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 14.0 // : 18.0, // color: Colors.black, // ), // ), // Text( // 'Specialist', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 14.0 // : 18.0, // color: Colors.black, // ), // ), // Text( // 'Specialist', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 14.0 // : 18.0, // color: Colors.black, // ), // ), // Text( // 'Specialist', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 14.0 // : 18.0, // color: Colors.black, // ), // ), // Text( // 'Specialist', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 14.0 // : 18.0, // color: Colors.black, // ), // ), // Text( // 'Specialist', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 14.0 // : 18.0, // color: Colors.black, // ), // ), // Text( // 'Specialist', // style: TextStyle( // fontSize: MediaQuery.of(context).size.width < 600 // ? 14.0 // : 18.0, // color: Colors.black, // ), // ), // ], // ), // ), // ), // floating: false, // pinned: true, // snap: false, // bottom: TabBar( // controller: _tabController, // tabs: [ // Tab(text: 'Tab 1'), // Tab(text: 'Tab 2'), // Tab(text: 'Tab 3'), // ], // ), // ), // SliverFillRemaining( // child: TabBarView( // controller: _tabController, // children: [ // ListView.builder( // itemCount: 50, // itemBuilder: (context, index) { // return ListTile( // title: Text('Item #$index in Tab 1'), // ); // }, // ), // ListView.builder( // itemCount: 50, // itemBuilder: (context, index) { // return ListTile( // title: Text('Item #$index in Tab 2'), // ); // }, // ), // ListView.builder( // itemCount: 50, // itemBuilder: (context, index) { // return ListTile( // title: Text('Item #$index in Tab 3'), // ); // }, // ), // ], // ), // ), // ], // ), // ); // } // } import 'package:flutter/material.dart'; import 'package:flutter_carousel_widget/flutter_carousel_widget.dart'; // Make sure you have this package class Constants { static const cardtext = Colors.blue; // Example color static const cardtextdark = Colors.black; // Example color static const k2color1 = Colors.blue; // Example color } class MyCarousel extends StatelessWidget { @override Widget build(BuildContext context) { // Define different gradients final List gradients = [ LinearGradient(colors: [Colors.red, Colors.orange]), LinearGradient(colors: [Colors.green, Colors.yellow]), LinearGradient(colors: [Colors.blue, Colors.purple]), LinearGradient(colors: [Colors.pink, Colors.redAccent]), LinearGradient(colors: [Colors.teal, Colors.blueAccent]), ]; return Directionality( textDirection: TextDirection.ltr, child: SizedBox( // height: MediaQuery.sizeOf(context).height * 0.21, child: ExpandableCarousel( options: CarouselOptions( slideIndicator: CircularWaveSlideIndicator( alignment: Alignment.bottomCenter, currentIndicatorColor: Constants.k2color1, indicatorBackgroundColor: Colors.grey), autoPlay: true, autoPlayInterval: const Duration(seconds: 2), ), items: [1, 2, 3, 4, 5].asMap().entries.map((entry) { int index = entry.key; return Builder( builder: (BuildContext context) { return Center( child: Padding( padding: const EdgeInsets.all(8.0), child: Flexible( child: Card( margin: EdgeInsets.all(1.0), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), ), child: Container( decoration: BoxDecoration( gradient: gradients[ index % gradients.length], // Apply gradient borderRadius: BorderRadius.circular(10), ), child: Padding( padding: EdgeInsets.all(10.0), child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ const Text( "Top Event Topics", style: TextStyle( fontSize: 16.0, fontWeight: FontWeight.bold), ), const SizedBox( height: 10.0, ), Row( children: [ Container( decoration: BoxDecoration( color: Constants.cardtext, borderRadius: BorderRadius.circular(10), ), child: Padding( padding: const EdgeInsets.all(5.0), child: Row( children: [ Text("Angina Pectoris"), SizedBox(width: 5.0), Container( decoration: BoxDecoration( color: Constants.cardtextdark, borderRadius: BorderRadius.circular(5), ), child: Padding( padding: const EdgeInsets.all(1.0), child: Text( "378", style: TextStyle( color: Colors.white), ), ), ), ], ), ), ), ], ), SizedBox(height: 5), Row( children: [ Container( decoration: BoxDecoration( color: Constants.cardtext, borderRadius: BorderRadius.circular(5), ), child: Padding( padding: const EdgeInsets.all(5.0), child: Row( children: [ Text("Coronary Artery Disease", softWrap: true), SizedBox(width: 5.0), Container( decoration: BoxDecoration( color: Constants.cardtextdark, borderRadius: BorderRadius.circular(5), ), child: Padding( padding: const EdgeInsets.all(1.0), child: Text( "378", style: TextStyle( color: Colors.white), ), ), ), ], ), ), ), ], ), SizedBox(height: 5), Row( children: [ Container( decoration: BoxDecoration( color: Constants.cardtext, borderRadius: BorderRadius.circular(5), ), child: Padding( padding: const EdgeInsets.all(5.0), child: Row( children: [ Text("Hypertension"), SizedBox(width: 5.0), Container( decoration: BoxDecoration( color: Constants.cardtextdark, borderRadius: BorderRadius.circular(5), ), child: Padding( padding: const EdgeInsets.all(1.0), child: Text( "378", style: TextStyle( color: Colors.white), ), ), ), ], ), ), ), ], ), ], ), ), ), ), ), ), ); }, ); }).toList(), ), ), ); } }