Make flutter application fullscreen

前端 未结 7 1459
忘了有多久
忘了有多久 2020-12-25 10:05

How can I make a flutter application fullscreen. I already found out how to hide the status bar Hide Android Status Bar On Flutter App. but I can\'t seem to find how to hide

相关标签:
7条回答
  • 2020-12-25 10:22
    // to hide only bottom bar:
    SystemChrome.setEnabledSystemUIOverlays ([SystemUiOverlay.top]);
    
    // to hide only status bar: 
    SystemChrome.setEnabledSystemUIOverlays ([SystemUiOverlay.bottom]);
    
    // to hide both:
    SystemChrome.setEnabledSystemUIOverlays ([]);
    
    0 讨论(0)
  • 2020-12-25 10:27

    It's exactly like for Android status bar.

    Doing SystemChrome.setEnabledSystemUIOverlays([]) hides both the status bar and the navigation bar.

    p/s : use this SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values); to disable full screen mode.

    0 讨论(0)
  • 2020-12-25 10:27

    Below code is working perfect for fullscreen

    SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);
    
    import 'package:flutter/services.dart'; 
    ////
    
    @override
    Widget build(BuildContext context) {
    ///Set color status bar
     SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);
       return Scaffold(
       backgroundColor: Colors.white,
       body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Image.asset(
              'images/ic_splash_logo.png',
              width: 97.0,
              height: 115.0,
              fit: BoxFit.contain,
            ),
            SizedBox(
              height: 10.0,
            ),
            Text(
              'iComplain',
              style: TextStyle(fontSize: 24,
                  color: Color(0xFF174D73),
                fontFamily: 'Helvetica'
              ),
            ),
          ],
         ),
        ),
      );
    }
    
    0 讨论(0)
  • 2020-12-25 10:30

    Finally i found a way to set in one class for fullscreen. and disable on other classes.

    To set full screen put this code in initState()

    SystemChrome.setEnabledSystemUIOverlays([]);

    and to set back to normal. In dispose()

    SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);

    in the same class.

    @override
      void dispose() {
            SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);
        super.dispose();
      }
        
      @override
      initState() {
          SystemChrome.setEnabledSystemUIOverlays([]);
        super.initState();
      }
    

    you can't set the

    SystemChrome.restoreSystemUIOverlays();
    

    in dispose(). because its already saying

    **Restores the system overlays to the last settings provided via [setEnabledSystemUIOverlays].**
    May be used when the platform force enables/disables UI elements.
              
    For example, when the Android keyboard disables hidden status and navigation bars,
    this can be called to re-disable the bars when the keyboard is closed.
              
    On Android, the system UI cannot be changed until 1 second after the previous
    change. This is to prevent malware from permanently hiding navigation buttons.`
    
    0 讨论(0)
  • 2020-12-25 10:31

    this is my experience if i add SystemChrome.setEnabledSystemUIOverlays([]); in init or dispose , status bar and navigation bar will back when you use keyboard , but if you use it like this it work perfect:

      @override
      Widget build(BuildContext context) {
    
        // To make this screen full screen.
        // It will hide status bar and notch.
        SystemChrome.setEnabledSystemUIOverlays([]);
    
        // full screen image for splash screen.
        return Container(
                child: new Image.asset('assets/splash.png', fit: BoxFit.fill));
          }
        }
    

    inside of your widget

    0 讨论(0)
  • 2020-12-25 10:34

    The AppBar is your Navigation bar so just remove it from your Code as illustrate below

    //New This Code it should work , the AppBar is navigation bar

    import 'package:flutter/material.dart';
    
    void main() => runApp(new MyApp());
    
    class MyApp extends StatelessWidget {      
       @override
       Widget build(BuildContext context) {
          return new MaterialApp(
             home: new Scaffold(
               body: new Center(
                  child: new Text('Hello World'),
               ),
             ),
          );
       }
    }
    
    0 讨论(0)
提交回复
热议问题