美文网首页flutter
flutter 设置渐变色状态栏

flutter 设置渐变色状态栏

作者: 神经病人思路广 | 来源:发表于2019-02-26 15:59 被阅读0次
    import 'package:flutter/material.dart';
    import 'dart:io';
    import 'package:flutter/services.dart';
    
    void main() {
      runApp(MyApp());
      if (Platform.isAndroid) {
    // 以下两行 设置android状态栏为透明的沉浸。写在组件渲染之后,是为了在渲染后进行set赋值,覆盖状态栏,写在渲染之前MaterialApp组件会覆盖掉这个值。
        SystemUiOverlayStyle systemUiOverlayStyle =
            SystemUiOverlayStyle(statusBarColor: Colors.transparent);
        SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
      }
    }
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          title: 'Flutter Demo',
          theme: ThemeData(
            primarySwatch: Colors.red,
          ),
          home: MyHomePage(title: 'Flutter Demo Home Page'),
        );
      }
    }
    
    class MyHomePage extends StatefulWidget {
      MyHomePage({Key key, this.title}) : super(key: key);
      final String title;
    
      @override
      _MyHomePageState createState() => _MyHomePageState();
    }
    
    class _MyHomePageState extends State<MyHomePage> {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
            appBar: PreferredSize(
              child: Container(
                child: AppBar(
                  title: Text(widget.title),
                  backgroundColor: Colors.transparent,
                  elevation: 0.0,
                ),
                decoration: BoxDecoration(
                  gradient: LinearGradient(
                    begin: Alignment.topLeft,
                    end: Alignment.bottomRight,
                    colors: [
                      Colors.pinkAccent,
                      Colors.white,
                    ],
                  ),
                ),
              ),
              preferredSize:  Size(MediaQuery.of(context).size.width, 45),
            ),
    
            body: SingleChildScrollView(
              child: Column(
                children: <Widget>[
                  Container(
                    margin: EdgeInsets.only(top: 1200),
                    child: TextField(
                      decoration: InputDecoration(
                        hintText: "输入文字",
                      ),
                    ),
                  ),
                ],
              ),
            ));
      }
    }
    
    

    经过测试,不会出现输入框的各种问题

    相关文章

      网友评论

        本文标题:flutter 设置渐变色状态栏

        本文链接:https://www.haomeiwen.com/subject/gaoayqtx.html