Explorar el Código

fixed render overflow on 'grant permission to access gallery' screen

ashilkn hace 3 años
padre
commit
57e3da85d8
Se han modificado 1 ficheros con 79 adiciones y 70 borrados
  1. 79 70
      lib/ui/grant_permissions_widget.dart

+ 79 - 70
lib/ui/grant_permissions_widget.dart

@@ -10,83 +10,92 @@ class GrantPermissionsWidget extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
     return Scaffold(
-      body: Column(
-        crossAxisAlignment: CrossAxisAlignment.start,
-        mainAxisAlignment: MainAxisAlignment.spaceBetween,
-        children: [
-          Column(
+      body: SingleChildScrollView(
+        child: SizedBox(
+          height: MediaQuery.of(context).size.height,
+          child: Column(
+            crossAxisAlignment: CrossAxisAlignment.start,
+            mainAxisAlignment: MainAxisAlignment.spaceBetween,
             children: [
-              Center(
-                child: Padding(
-                  padding: const EdgeInsets.symmetric(vertical: 50),
-                  child: Image.asset(
-                    "assets/gallery.png",
-                    height: 250,
+              Column(
+                children: [
+                  Center(
+                    child: Padding(
+                      padding: const EdgeInsets.symmetric(vertical: 50),
+                      child: Image.asset(
+                        "assets/gallery.png",
+                        height: 250,
+                      ),
+                    ),
                   ),
-                ),
+                  Padding(
+                    padding: const EdgeInsets.symmetric(horizontal: 20),
+                    child: Text(
+                      'Ente needs your permission to access gallery',
+                      style: Theme.of(context)
+                          .textTheme
+                          .headline4
+                          .copyWith(height: 1.4),
+                    ),
+                  ),
+                ],
               ),
-              Padding(
-                padding: const EdgeInsets.symmetric(horizontal: 20),
-                child: Text(
-                  'Ente needs your permission to access gallery',
-                  style: Theme.of(context)
-                      .textTheme
-                      .headline4
-                      .copyWith(height: 1.4),
+              Container(
+                width: double.infinity,
+                padding: EdgeInsets.only(
+                    left: 20, right: 20, bottom: Platform.isIOS ? 60 : 32),
+                child: OutlinedButton(
+                  child: Text("Grant permission"),
+                  onPressed: () async {
+                    final state = await PhotoManager.requestPermissionExtend();
+                    if (state == PermissionState.authorized ||
+                        state == PermissionState.limited) {
+                      await SyncService.instance.onPermissionGranted(state);
+                    } else if (state == PermissionState.denied) {
+                      AlertDialog alert = AlertDialog(
+                        title: Text("Please grant permissions"),
+                        content: Text(
+                            "ente can encrypt and preserve files only if you grant access to them"),
+                        actions: [
+                          TextButton(
+                            child: Text(
+                              "OK",
+                              style: Theme.of(context)
+                                  .textTheme
+                                  .subtitle1
+                                  .copyWith(
+                                      fontSize: 14,
+                                      fontWeight: FontWeight.w700),
+                            ),
+                            onPressed: () {
+                              Navigator.of(context, rootNavigator: true)
+                                  .pop('dialog');
+                              if (Platform.isIOS) {
+                                PhotoManager.openSetting();
+                              }
+                            },
+                          ),
+                        ],
+                      );
+
+                      showDialog(
+                        context: context,
+                        builder: (BuildContext context) {
+                          return BackdropFilter(
+                            filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5),
+                            child: alert,
+                          );
+                        },
+                        barrierColor: Colors.black12,
+                      );
+                    }
+                  },
+                  // padding: EdgeInsets.fromLTRB(12, 20, 12, 20),
                 ),
               ),
             ],
           ),
-          Container(
-            width: double.infinity,
-            padding: EdgeInsets.only(
-                left: 20, right: 20, bottom: Platform.isIOS ? 60 : 32),
-            child: OutlinedButton(
-              child: Text("Grant permission"),
-              onPressed: () async {
-                final state = await PhotoManager.requestPermissionExtend();
-                if (state == PermissionState.authorized ||
-                    state == PermissionState.limited) {
-                  await SyncService.instance.onPermissionGranted(state);
-                } else if (state == PermissionState.denied) {
-                  AlertDialog alert = AlertDialog(
-                    title: Text("Please grant permissions"),
-                    content: Text(
-                        "ente can encrypt and preserve files only if you grant access to them"),
-                    actions: [
-                      TextButton(
-                        child: Text(
-                          "OK",
-                          style: Theme.of(context).textTheme.subtitle1.copyWith(
-                              fontSize: 14, fontWeight: FontWeight.w700),
-                        ),
-                        onPressed: () {
-                          Navigator.of(context, rootNavigator: true)
-                              .pop('dialog');
-                          if (Platform.isIOS) {
-                            PhotoManager.openSetting();
-                          }
-                        },
-                      ),
-                    ],
-                  );
-
-                  showDialog(
-                    context: context,
-                    builder: (BuildContext context) {
-                      return BackdropFilter(
-                        filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5),
-                        child: alert,
-                      );
-                    },
-                    barrierColor: Colors.black12,
-                  );
-                }
-              },
-              // padding: EdgeInsets.fromLTRB(12, 20, 12, 20),
-            ),
-          ),
-        ],
+        ),
       ),
     );
   }