美文网首页
Flutter Tips

Flutter Tips

作者: 能量马甲 | 来源:发表于2019-01-11 14:44 被阅读0次
    1. 如何全局修改App字体大小?
      修改MediaQuery里面的textScaleFactor属性,以新的MediaQuery微件作为builder函数返回值,字体大小缩放因子全局生效
      关键字: MaterialApp(builder) , MediaQuery, textScaleFactor
    MaterialApp(
      builder: (BuildContext context, Widget child) {
        return MediaQuery.of(context).copyWith({
          textScaleFactor: _options.textScaleFactor.scale,
          child: child,
        });
      }
    );
    
    
    1. 如何隐藏顶部状态栏?
      关键字:SystemChrome, services.dart
    import 'package:flutter/services.dart';
    
    Future main() async {
      await SystemChrome.setEnabledSystemUIOverlays([]);
    }
    
    1. 类方法前下划线void _method()只在当前类中可见,同private,类名前面下划线(_ClassName),只在当前源文件可见
    2. State<T extends StatefulWidget>类中的initState热重载(debug)不会被执行,修改initState初始化代码后,需重新debug才生效
    3. 避免使用对象赋值语句,传递的是引用,而不是数据实体,应该使用复制
      @override
      void initState() {
        super.initState();
        articles = List<Article>.from(kArticles);
        //articles = kArticles;  错误,无效
      }
    

    5.dart中如何写单例模式

    class Singleton {
      Singleton._();
      // 在类级别而非对象级别创建该对象,始终是一个
      static final shared = Singleton._();
      // 工厂构造函数不一定创建对象,这是一个特殊的构造函数
      factory Singleton() => shared;
    
    }
    
      test('test singleton', (){
        final a = Singleton();
        final b = Singleton();
        expect(a == b, true);
        expect(identical(a, b), true);
      });
    

    相关文章

      网友评论

          本文标题:Flutter Tips

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