Skip to content

Commit

Permalink
null safety
Browse files Browse the repository at this point in the history
  • Loading branch information
李卓原 committed Dec 16, 2020
1 parent 5144545 commit caa26e6
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 71 deletions.
9 changes: 2 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
<!--
* @Author: zhuoyuan93@gmail.com
* @Date: 2018-10-16 19:43:03
* @LastEditors: zhuoyuan93@gmail.com
* @LastEditTime: 2020年6月20日 11:20:02
* @Description: Update log
-->
# 5.0.0-nullsafety.0
- Migrated flutter_screenutil to non-nullable

# 4.0.0-beta3
- Optimize the way of initialization
Expand Down
50 changes: 5 additions & 45 deletions example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,54 +16,14 @@ dependencies:
flutter:
sdk: flutter

# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
flutter_screenutil:
path: ../

dev_dependencies:
flutter_test:
sdk: flutter
test: ^1.15.7

dependency_overrides:
flutter_screenutil:
path: ../

# For information on the generic Dart part of this file, see the
# following page: https://www.dartlang.org/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:

# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true

# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg

# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.io/assets-and-images/#resolution-aware.

# For details regarding adding assets from package dependencies, see
# https://flutter.io/assets-and-images/#from-packages

# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.io/custom-fonts/#from-packages
26 changes: 11 additions & 15 deletions lib/screenutil.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,30 +8,26 @@ import 'dart:ui' as ui;

class ScreenUtil {
static const Size defaultSize = Size(1080, 1920);
static ScreenUtil _instance;
static late ScreenUtil _instance;

/// UI设计中手机尺寸 , px
/// Size of the phone in UI Design , px
Size uiSize;
late Size uiSize;

/// 控制字体是否要根据系统的“字体大小”辅助选项来进行缩放。默认值为false。
/// allowFontScaling Specifies whether fonts should scale to respect Text Size accessibility settings. The default is false.
bool allowFontScaling;
late bool allowFontScaling;

static double _pixelRatio;
static double _textScaleFactor;
static double _screenWidth;
static double _screenHeight;
static double _statusBarHeight;
static double _bottomBarHeight;
static late double _pixelRatio;
static late double _textScaleFactor;
static late double _screenWidth;
static late double _screenHeight;
static late double _statusBarHeight;
static late double _bottomBarHeight;

ScreenUtil._();

factory ScreenUtil() {
assert(
_instance != null,
'\nEnsure to initialize ScreenUtil before accessing it.\nPlease execute the init method : ScreenUtil.init()',
);
return _instance;
}

Expand All @@ -40,7 +36,7 @@ class ScreenUtil {
Size designSize = defaultSize,
bool allowFontScaling = false,
}) {
_instance ??= ScreenUtil._();
_instance = ScreenUtil._();
_instance
..uiSize = designSize
..allowFontScaling = allowFontScaling;
Expand Down Expand Up @@ -116,7 +112,7 @@ class ScreenUtil {
///Font size adaptation method
///- [fontSize] The size of the font on the UI design, in px.
///- [allowFontScaling]
double setSp(num fontSize, {bool allowFontScalingSelf}) =>
double setSp(num fontSize, {bool? allowFontScalingSelf}) =>
allowFontScalingSelf == null
? (allowFontScaling
? (fontSize * scaleText)
Expand Down
4 changes: 2 additions & 2 deletions lib/screenutil_init.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import 'screenutil.dart';
class ScreenUtilInit extends StatelessWidget {
/// A helper widget that initializes [ScreenUtil]
ScreenUtilInit({
@required this.child,
required this.child,
this.designSize = ScreenUtil.defaultSize,
this.allowFontScaling = false,
Key key,
Key? key,
}) : super(key: key);

final Widget child;
Expand Down
4 changes: 2 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: flutter_screenutil
description: A flutter plugin for adapting screen and font size.Guaranteed to look good on different models
version: 4.0.0-beta3
version: 5.0.0-nullsafety.0
homepage: https://github.com/OpenFlutter/flutter_screenutil

environment:
sdk: ">=2.6.0 <3.0.0"
sdk: '>=2.12.0-29.10.beta <3.0.0'

dependencies:
flutter:
Expand Down

0 comments on commit caa26e6

Please sign in to comment.