main.dart 1,9 КБ
Newer Older
4-alok's avatar
4-alok включено в состав коммита
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import 'package:file_manager/file_manager.dart';
import 'package:flutter/material.dart';

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

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
4-alok's avatar
4-alok включено в состав коммита
18
      theme: ThemeData(brightness: Brightness.dark),
4-alok's avatar
4-alok включено в состав коммита
19
20
21
22
23
24
      home: HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
Divyanshu Shekhar's avatar
Divyanshu Shekhar включено в состав коммита
25
  final FileManagerController controller = FileManagerController();
4-alok's avatar
4-alok включено в состав коммита
26
27
28
29

  @override
  Widget build(BuildContext context) {
    return WillPopScope(
4-alok's avatar
4-alok включено в состав коммита
30
      onWillPop: controller.willPopScopeControll,
4-alok's avatar
4-alok включено в состав коммита
31
32
      child: Scaffold(
          appBar: AppBar(
Arpit-Sahu's avatar
Arpit-Sahu включено в состав коммита
33
            actions: [
Divyanshu Shekhar's avatar
Divyanshu Shekhar включено в состав коммита
34
              IconButton(
4-alok's avatar
4-alok включено в состав коммита
35
36
                onPressed: () => controller.setCurrentStorage(strageIndex: 1),
                icon: Icon(Icons.sd_storage_rounded),
Divyanshu Shekhar's avatar
Divyanshu Shekhar включено в состав коммита
37
              )
Arpit-Sahu's avatar
Arpit-Sahu включено в состав коммита
38
            ],
4-alok's avatar
4-alok включено в состав коммита
39
40
            leading: IconButton(
              icon: Icon(Icons.arrow_back),
Arpit-Sahu's avatar
Arpit-Sahu включено в состав коммита
41
              onPressed: () async {
4-alok's avatar
4-alok включено в состав коммита
42
43
                final bool k = await controller.goToParentDirectory();
                print(k);
Arpit-Sahu's avatar
Arpit-Sahu включено в состав коммита
44
              },
4-alok's avatar
4-alok включено в состав коммита
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
            ),
          ),
          body: Container(
            margin: EdgeInsets.all(10),
            child: FileManager(
              controller: controller,
              tileBuilder: (context, entity) {
                return Card(
                  child: ListTile(
                    leading: isFile(entity)
                        ? Icon(Icons.feed_outlined)
                        : Icon(Icons.folder),
                    title: Text(basename(entity, false)),
                    onTap: () {
                      if (isDirectory(entity)) controller.openDirectory(entity);
                    },
                  ),
                );
              },
            ),
          )),
    );
  }
}