李卓原

beta3

@@ -3,5 +3,5 @@ @@ -3,5 +3,5 @@
3 <!-- Flutter needs it to communicate with the running application 3 <!-- Flutter needs it to communicate with the running application
4 to allow setting breakpoints, to provide hot reload, etc. 4 to allow setting breakpoints, to provide hot reload, etc.
5 --> 5 -->
6 - <uses-permission android:name="android.permission.INTERNET"/> 6 + <uses-permission android:name="android.permission.INTERNET" />
7 </manifest> 7 </manifest>
@@ -21,21 +21,19 @@ @@ -21,21 +21,19 @@
21 while the Flutter UI initializes. After that, this theme continues 21 while the Flutter UI initializes. After that, this theme continues
22 to determine the Window background behind the Flutter UI. --> 22 to determine the Window background behind the Flutter UI. -->
23 <meta-data 23 <meta-data
24 - android:name="io.flutter.embedding.android.NormalTheme"  
25 - android:resource="@style/NormalTheme"  
26 - /> 24 + android:name="io.flutter.embedding.android.NormalTheme"
  25 + android:resource="@style/NormalTheme" />
27 <!-- Displays an Android View that continues showing the launch screen 26 <!-- Displays an Android View that continues showing the launch screen
28 Drawable until Flutter paints its first frame, then this splash 27 Drawable until Flutter paints its first frame, then this splash
29 screen fades out. A splash screen is useful to avoid any visual 28 screen fades out. A splash screen is useful to avoid any visual
30 gap between the end of Android's launch screen and the painting of 29 gap between the end of Android's launch screen and the painting of
31 Flutter's first frame. --> 30 Flutter's first frame. -->
32 <meta-data 31 <meta-data
33 - android:name="io.flutter.embedding.android.SplashScreenDrawable"  
34 - android:resource="@drawable/launch_background"  
35 - /> 32 + android:name="io.flutter.embedding.android.SplashScreenDrawable"
  33 + android:resource="@drawable/launch_background" />
36 <intent-filter> 34 <intent-filter>
37 - <action android:name="android.intent.action.MAIN"/>  
38 - <category android:name="android.intent.category.LAUNCHER"/> 35 + <action android:name="android.intent.action.MAIN" />
  36 + <category android:name="android.intent.category.LAUNCHER" />
39 </intent-filter> 37 </intent-filter>
40 </activity> 38 </activity>
41 <!-- Don't delete the meta-data below. 39 <!-- Don't delete the meta-data below.
@@ -2,5 +2,5 @@ package li.zhuoyuan.example @@ -2,5 +2,5 @@ package li.zhuoyuan.example
2 2
3 import io.flutter.embedding.android.FlutterActivity 3 import io.flutter.embedding.android.FlutterActivity
4 4
5 -class MainActivity: FlutterActivity() { 5 +class MainActivity : FlutterActivity() {
6 } 6 }
1 -<?xml version="1.0" encoding="utf-8"?>  
2 -<!-- Modify this file to customize your launch splash screen --> 1 +<?xml version="1.0" encoding="utf-8"?><!-- Modify this file to customize your launch splash screen -->
3 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 2 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
4 <item android:drawable="@android:color/white" /> 3 <item android:drawable="@android:color/white" />
5 4
@@ -3,5 +3,5 @@ @@ -3,5 +3,5 @@
3 <!-- Flutter needs it to communicate with the running application 3 <!-- Flutter needs it to communicate with the running application
4 to allow setting breakpoints, to provide hot reload, etc. 4 to allow setting breakpoints, to provide hot reload, etc.
5 --> 5 -->
6 - <uses-permission android:name="android.permission.INTERNET"/> 6 + <uses-permission android:name="android.permission.INTERNET" />
7 </manifest> 7 </manifest>
@@ -6,10 +6,10 @@ export "FLUTTER_TARGET=lib/main.dart" @@ -6,10 +6,10 @@ export "FLUTTER_TARGET=lib/main.dart"
6 export "FLUTTER_BUILD_DIR=build" 6 export "FLUTTER_BUILD_DIR=build"
7 export "SYMROOT=${SOURCE_ROOT}/../build/ios" 7 export "SYMROOT=${SOURCE_ROOT}/../build/ios"
8 export "OTHER_LDFLAGS=$(inherited) -framework Flutter" 8 export "OTHER_LDFLAGS=$(inherited) -framework Flutter"
9 -export "FLUTTER_FRAMEWORK_DIR=/Users/lizhuoyuan/Development/flutter/bin/cache/artifacts/engine/ios-release" 9 +export "FLUTTER_FRAMEWORK_DIR=/Users/lizhuoyuan/Development/flutter/bin/cache/artifacts/engine/ios"
10 export "FLUTTER_BUILD_NAME=1.0.0" 10 export "FLUTTER_BUILD_NAME=1.0.0"
11 export "FLUTTER_BUILD_NUMBER=1" 11 export "FLUTTER_BUILD_NUMBER=1"
12 export "DART_OBFUSCATION=false" 12 export "DART_OBFUSCATION=false"
13 export "TRACK_WIDGET_CREATION=false" 13 export "TRACK_WIDGET_CREATION=false"
14 -export "TREE_SHAKE_ICONS=true" 14 +export "TREE_SHAKE_ICONS=false"
15 export "PACKAGE_CONFIG=.packages" 15 export "PACKAGE_CONFIG=.packages"
1 { 1 {
2 - "images" : [ 2 + "images": [
3 { 3 {
4 - "size" : "20x20",  
5 - "idiom" : "iphone",  
6 - "filename" : "Icon-App-20x20@2x.png",  
7 - "scale" : "2x" 4 + "size": "20x20",
  5 + "idiom": "iphone",
  6 + "filename": "Icon-App-20x20@2x.png",
  7 + "scale": "2x"
8 }, 8 },
9 { 9 {
10 - "size" : "20x20",  
11 - "idiom" : "iphone",  
12 - "filename" : "Icon-App-20x20@3x.png",  
13 - "scale" : "3x" 10 + "size": "20x20",
  11 + "idiom": "iphone",
  12 + "filename": "Icon-App-20x20@3x.png",
  13 + "scale": "3x"
14 }, 14 },
15 { 15 {
16 - "size" : "29x29",  
17 - "idiom" : "iphone",  
18 - "filename" : "Icon-App-29x29@1x.png",  
19 - "scale" : "1x" 16 + "size": "29x29",
  17 + "idiom": "iphone",
  18 + "filename": "Icon-App-29x29@1x.png",
  19 + "scale": "1x"
20 }, 20 },
21 { 21 {
22 - "size" : "29x29",  
23 - "idiom" : "iphone",  
24 - "filename" : "Icon-App-29x29@2x.png",  
25 - "scale" : "2x" 22 + "size": "29x29",
  23 + "idiom": "iphone",
  24 + "filename": "Icon-App-29x29@2x.png",
  25 + "scale": "2x"
26 }, 26 },
27 { 27 {
28 - "size" : "29x29",  
29 - "idiom" : "iphone",  
30 - "filename" : "Icon-App-29x29@3x.png",  
31 - "scale" : "3x" 28 + "size": "29x29",
  29 + "idiom": "iphone",
  30 + "filename": "Icon-App-29x29@3x.png",
  31 + "scale": "3x"
32 }, 32 },
33 { 33 {
34 - "size" : "40x40",  
35 - "idiom" : "iphone",  
36 - "filename" : "Icon-App-40x40@2x.png",  
37 - "scale" : "2x" 34 + "size": "40x40",
  35 + "idiom": "iphone",
  36 + "filename": "Icon-App-40x40@2x.png",
  37 + "scale": "2x"
38 }, 38 },
39 { 39 {
40 - "size" : "40x40",  
41 - "idiom" : "iphone",  
42 - "filename" : "Icon-App-40x40@3x.png",  
43 - "scale" : "3x" 40 + "size": "40x40",
  41 + "idiom": "iphone",
  42 + "filename": "Icon-App-40x40@3x.png",
  43 + "scale": "3x"
44 }, 44 },
45 { 45 {
46 - "size" : "60x60",  
47 - "idiom" : "iphone",  
48 - "filename" : "Icon-App-60x60@2x.png",  
49 - "scale" : "2x" 46 + "size": "60x60",
  47 + "idiom": "iphone",
  48 + "filename": "Icon-App-60x60@2x.png",
  49 + "scale": "2x"
50 }, 50 },
51 { 51 {
52 - "size" : "60x60",  
53 - "idiom" : "iphone",  
54 - "filename" : "Icon-App-60x60@3x.png",  
55 - "scale" : "3x" 52 + "size": "60x60",
  53 + "idiom": "iphone",
  54 + "filename": "Icon-App-60x60@3x.png",
  55 + "scale": "3x"
56 }, 56 },
57 { 57 {
58 - "size" : "20x20",  
59 - "idiom" : "ipad",  
60 - "filename" : "Icon-App-20x20@1x.png",  
61 - "scale" : "1x" 58 + "size": "20x20",
  59 + "idiom": "ipad",
  60 + "filename": "Icon-App-20x20@1x.png",
  61 + "scale": "1x"
62 }, 62 },
63 { 63 {
64 - "size" : "20x20",  
65 - "idiom" : "ipad",  
66 - "filename" : "Icon-App-20x20@2x.png",  
67 - "scale" : "2x" 64 + "size": "20x20",
  65 + "idiom": "ipad",
  66 + "filename": "Icon-App-20x20@2x.png",
  67 + "scale": "2x"
68 }, 68 },
69 { 69 {
70 - "size" : "29x29",  
71 - "idiom" : "ipad",  
72 - "filename" : "Icon-App-29x29@1x.png",  
73 - "scale" : "1x" 70 + "size": "29x29",
  71 + "idiom": "ipad",
  72 + "filename": "Icon-App-29x29@1x.png",
  73 + "scale": "1x"
74 }, 74 },
75 { 75 {
76 - "size" : "29x29",  
77 - "idiom" : "ipad",  
78 - "filename" : "Icon-App-29x29@2x.png",  
79 - "scale" : "2x" 76 + "size": "29x29",
  77 + "idiom": "ipad",
  78 + "filename": "Icon-App-29x29@2x.png",
  79 + "scale": "2x"
80 }, 80 },
81 { 81 {
82 - "size" : "40x40",  
83 - "idiom" : "ipad",  
84 - "filename" : "Icon-App-40x40@1x.png",  
85 - "scale" : "1x" 82 + "size": "40x40",
  83 + "idiom": "ipad",
  84 + "filename": "Icon-App-40x40@1x.png",
  85 + "scale": "1x"
86 }, 86 },
87 { 87 {
88 - "size" : "40x40",  
89 - "idiom" : "ipad",  
90 - "filename" : "Icon-App-40x40@2x.png",  
91 - "scale" : "2x" 88 + "size": "40x40",
  89 + "idiom": "ipad",
  90 + "filename": "Icon-App-40x40@2x.png",
  91 + "scale": "2x"
92 }, 92 },
93 { 93 {
94 - "size" : "76x76",  
95 - "idiom" : "ipad",  
96 - "filename" : "Icon-App-76x76@1x.png",  
97 - "scale" : "1x" 94 + "size": "76x76",
  95 + "idiom": "ipad",
  96 + "filename": "Icon-App-76x76@1x.png",
  97 + "scale": "1x"
98 }, 98 },
99 { 99 {
100 - "size" : "76x76",  
101 - "idiom" : "ipad",  
102 - "filename" : "Icon-App-76x76@2x.png",  
103 - "scale" : "2x" 100 + "size": "76x76",
  101 + "idiom": "ipad",
  102 + "filename": "Icon-App-76x76@2x.png",
  103 + "scale": "2x"
104 }, 104 },
105 { 105 {
106 - "size" : "83.5x83.5",  
107 - "idiom" : "ipad",  
108 - "filename" : "Icon-App-83.5x83.5@2x.png",  
109 - "scale" : "2x" 106 + "size": "83.5x83.5",
  107 + "idiom": "ipad",
  108 + "filename": "Icon-App-83.5x83.5@2x.png",
  109 + "scale": "2x"
110 }, 110 },
111 { 111 {
112 - "size" : "1024x1024",  
113 - "idiom" : "ios-marketing",  
114 - "filename" : "Icon-App-1024x1024@1x.png",  
115 - "scale" : "1x" 112 + "size": "1024x1024",
  113 + "idiom": "ios-marketing",
  114 + "filename": "Icon-App-1024x1024@1x.png",
  115 + "scale": "1x"
116 } 116 }
117 ], 117 ],
118 - "info" : {  
119 - "version" : 1,  
120 - "author" : "xcode" 118 + "info": {
  119 + "version": 1,
  120 + "author": "xcode"
121 } 121 }
122 } 122 }
1 { 1 {
2 - "images" : [ 2 + "images": [
3 { 3 {
4 - "idiom" : "universal",  
5 - "filename" : "LaunchImage.png",  
6 - "scale" : "1x" 4 + "idiom": "universal",
  5 + "filename": "LaunchImage.png",
  6 + "scale": "1x"
7 }, 7 },
8 { 8 {
9 - "idiom" : "universal",  
10 - "filename" : "LaunchImage@2x.png",  
11 - "scale" : "2x" 9 + "idiom": "universal",
  10 + "filename": "LaunchImage@2x.png",
  11 + "scale": "2x"
12 }, 12 },
13 { 13 {
14 - "idiom" : "universal",  
15 - "filename" : "LaunchImage@3x.png",  
16 - "scale" : "3x" 14 + "idiom": "universal",
  15 + "filename": "LaunchImage@3x.png",
  16 + "scale": "3x"
17 } 17 }
18 ], 18 ],
19 - "info" : {  
20 - "version" : 1,  
21 - "author" : "xcode" 19 + "info": {
  20 + "version": 1,
  21 + "author": "xcode"
22 } 22 }
23 } 23 }
@@ -7,8 +7,8 @@ import 'package:flutter/material.dart'; @@ -7,8 +7,8 @@ import 'package:flutter/material.dart';
7 import 'dart:ui' as ui; 7 import 'dart:ui' as ui;
8 8
9 class ScreenUtil { 9 class ScreenUtil {
10 - static ScreenUtil _instance;  
11 static const Size defaultSize = Size(1080, 1920); 10 static const Size defaultSize = Size(1080, 1920);
  11 + static ScreenUtil _instance;
12 12
13 /// UI设计中手机尺寸 , px 13 /// UI设计中手机尺寸 , px
14 /// Size of the phone in UI Design , px 14 /// Size of the phone in UI Design , px
@@ -4,7 +4,7 @@ import 'screenutil.dart'; @@ -4,7 +4,7 @@ import 'screenutil.dart';
4 4
5 class ScreenUtilInit extends StatelessWidget { 5 class ScreenUtilInit extends StatelessWidget {
6 /// A helper widget that initializes [ScreenUtil] 6 /// A helper widget that initializes [ScreenUtil]
7 - const ScreenUtilInit({ 7 + ScreenUtilInit({
8 @required this.child, 8 @required this.child,
9 this.designSize = ScreenUtil.defaultSize, 9 this.designSize = ScreenUtil.defaultSize,
10 this.allowFontScaling = false, 10 this.allowFontScaling = false,