Advertisement
MELAMOURI

Untitled

Apr 7th, 2023
1,350
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 1.84 KB | None | 0 0
  1. import 'package:flutter/material.dart';
  2.  
  3. void main() {
  4.   runApp(MyApp());
  5. }
  6.  
  7. class MyApp extends StatelessWidget {
  8.   @override
  9.   Widget build(BuildContext context) {
  10.     return MaterialApp(
  11.       title: 'Split Screen App',
  12.       theme: ThemeData(
  13.         primarySwatch: Colors.blue,
  14.       ),
  15.       home: SplitScreen(),
  16.     );
  17.   }
  18. }
  19.  
  20. class SplitScreen extends StatefulWidget {
  21.   @override
  22.   _SplitScreenState createState() => _SplitScreenState();
  23. }
  24.  
  25. class _SplitScreenState extends State<SplitScreen> {
  26.   int _selectedIndex = 0;
  27.  
  28.   static const List<Widget> _views = [
  29.     Center(child: Text('View 1')),
  30.     Center(child: Text('View 2')),
  31.     Center(child: Text('View 3')),
  32.   ];
  33.  
  34.   void _onItemTapped(int index) {
  35.     setState(() {
  36.       _selectedIndex = index;
  37.     });
  38.   }
  39.  
  40.   @override
  41.   Widget build(BuildContext context) {
  42.     return Scaffold(
  43.       body: CustomScrollView(
  44.         slivers: [
  45.           SliverAppBar(
  46.             title: Text('Split Screen'),
  47.             floating: true,
  48.             actions: [
  49.               IconButton(
  50.                 icon: Icon(Icons.emoji_emotions),
  51.                 onPressed: () {
  52.                   _onItemTapped(0);
  53.                 },
  54.               ),
  55.               IconButton(
  56.                 icon: Icon(Icons.emoji_events),
  57.                 onPressed: () {
  58.                   _onItemTapped(1);
  59.                 },
  60.               ),
  61.               IconButton(
  62.                 icon: Icon(Icons.emoji_flags),
  63.                 onPressed: () {
  64.                   _onItemTapped(2);
  65.                 },
  66.               ),
  67.             ],
  68.           ),
  69.           SliverFillRemaining(
  70.             child: AnimatedSwitcher(
  71.               duration: Duration(milliseconds: 500),
  72.               child: _views[_selectedIndex],
  73.             ),
  74.           ),
  75.         ],
  76.       ),
  77.     );
  78.   }
  79. }
  80.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement