Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:flutter/material.dart';
- final Color backgroundColor = Color(0xFF242E42);
- class Sidebar extends StatelessWidget {
- String itemText;
- IconData itemIcon;
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- body: Stack(
- children: <Widget>[
- menu(context),
- ],
- ),
- );
- }
- Widget menu(context) {
- Size size = MediaQuery.of(context).size;
- double screenWidth = size.width;
- double screenHeight = size.height;
- return Container(
- color : backgroundColor,
- child: Column(
- mainAxisSize : MainAxisSize.max,
- crossAxisAlignment : CrossAxisAlignment.start,
- mainAxisAlignment : MainAxisAlignment.start,
- children: <Widget>[
- Padding(
- padding: const EdgeInsets.only(left: 8, right: 0, top: 55, bottom: 35),
- child: Image.asset(
- 'images/logo.png',
- width : 20.0,
- height: 20.0,
- fit : BoxFit.contain
- ),
- ),
- DisplayListView(),
- ],
- )
- );
- }
- }
- class ListViewModel {
- final String itemText;
- final IconData itemIcon;
- ListViewModel({
- this.itemText,
- this.itemIcon
- });
- }
- List listViewData = [
- ListViewModel(
- itemText: "Dashboard",
- itemIcon: Icons.dashboard,
- ),
- ListViewModel(
- itemText: "Profile",
- itemIcon: Icons.account_circle,
- ),
- ListViewModel(
- itemText: "Messages",
- itemIcon: Icons.message,
- ),
- ListViewModel(
- itemText: "Friends",
- itemIcon: Icons.supervisor_account,
- ),
- ListViewModel(
- itemText: "Branches",
- itemIcon: Icons.account_circle,
- ),
- ListViewModel(
- itemText: "Collapse",
- itemIcon: Icons.arrow_forward_ios,
- ),
- ];
- class DisplayListView extends StatefulWidget {
- @override
- _DisplayListViewState createState() => _DisplayListViewState();
- }
- class _DisplayListViewState extends State {
- bool isCollapsed = true;
- @override
- Widget build(BuildContext context) {
- return ListView.builder(
- itemCount: listViewData.length,
- itemBuilder: (context, int i) {
- bool last = listViewData.length == (i + 1);
- return Padding(
- padding: const EdgeInsets.only(left: 8, bottom: 15),
- child: Row(
- mainAxisSize : MainAxisSize.max,
- crossAxisAlignment : CrossAxisAlignment.start,
- mainAxisAlignment : MainAxisAlignment.start,
- children: <Widget>[
- Padding(
- padding: const EdgeInsets.only(
- top : 0,
- bottom: 0,
- left : 0,
- right : 12,
- ),
- child: Column(
- children: <Widget>[
- Icon(
- listViewData[i].itemIcon,
- color: Colors.white,
- size: 20.0,
- ),
- if (!isCollapsed)
- Text(
- listViewData[i].itemText,
- style: TextStyle(color: Colors.white, fontSize: 16)
- ),
- ],
- )
- ),
- ]
- ),
- );
- }
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement