🐝Hive - task app: часть 1

1.

// папка screens
// file main_screen.dart
import 'package:flutter/material.dart';
import 'package:hive_task_app/utils/colors.dart';
import 'package:hive_task_app/widgets/icon_button_widget.dart';

class MainScreen extends StatelessWidget {
  const MainScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: indigo,
      appBar: AppBar(
        iconTheme: const IconThemeData(color: white, size: 30),
        backgroundColor: indigo,
        actions:  [
          IconButtonWidget(
            iconData: Icons.add_box,
            onPressed: (){  },
          ),
        ],
      ),
      drawer: const Drawer(),
      body: const Column(
        children: [
          SizedBox(
            height: 250,
          ),
          ContainerBody()
        ],
      ),
    );
  }
}

class ContainerBody extends StatelessWidget {
  const ContainerBody({super.key});

  @override
  Widget build(BuildContext context) {
    return Expanded(
      child: Container(
        height: double.infinity,
        decoration: const BoxDecoration(
            color: white,
            borderRadius: BorderRadius.only(
                topRight: Radius.circular(45), topLeft: Radius.circular(45),),),
      ),
    );
  }
}
// папка utills
// file colors.dart

import 'package:flutter/material.dart';

const Color indigo = Colors.indigo;
const Color white = Colors.white;
// папка widgets
// file icon_button_widget.dart

import 'package:flutter/material.dart';

class IconButtonWidget extends StatelessWidget {
  final IconData iconData;
  final Function() onPressed;

  const IconButtonWidget(
      {super.key, required this.iconData, required this.onPressed});

  @override
  Widget build(BuildContext context) {
    return IconButton(onPressed: onPressed, icon: Icon(iconData));
  }
}
// file main.dart

import 'package:flutter/material.dart';
import 'package:hive_task_app/screens/main_screen.dart';


void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(

        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MainScreen()
    );
  }
}

Last updated