李卓原

添加示例

Showing 67 changed files with 2148 additions and 18 deletions
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <project version="4"> 2 <project version="4">
3 <component name="ChangeListManager"> 3 <component name="ChangeListManager">
4 - <list default="true" id="4b1e7c8a-90e5-4705-b34f-bcaa595e12fe" name="Default" comment="">  
5 - <change beforePath="" afterPath="$PROJECT_DIR$/example/example.iml" />  
6 - <change beforePath="$PROJECT_DIR$/.idea/libraries/Dart_Packages.xml" afterPath="$PROJECT_DIR$/.idea/libraries/Dart_Packages.xml" />  
7 - <change beforePath="$PROJECT_DIR$/.idea/screenutil.iml" afterPath="$PROJECT_DIR$/.idea/screenutil.iml" /> 4 + <list default="true" id="4b1e7c8a-90e5-4705-b34f-bcaa595e12fe" name="Default" comment="添加示例">
  5 + <change beforePath="" afterPath="$PROJECT_DIR$/example/.gitignore" />
  6 + <change beforePath="" afterPath="$PROJECT_DIR$/example/.idea/libraries/Dart_SDK.xml" />
  7 + <change beforePath="" afterPath="$PROJECT_DIR$/example/.idea/libraries/Flutter_for_Android.xml" />
  8 + <change beforePath="" afterPath="$PROJECT_DIR$/example/.idea/modules.xml" />
  9 + <change beforePath="" afterPath="$PROJECT_DIR$/example/.idea/runConfigurations/main_dart.xml" />
  10 + <change beforePath="" afterPath="$PROJECT_DIR$/example/.idea/workspace.xml" />
  11 + <change beforePath="" afterPath="$PROJECT_DIR$/example/.metadata" />
  12 + <change beforePath="" afterPath="$PROJECT_DIR$/example/README.md" />
  13 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/.gitignore" />
  14 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/app/build.gradle" />
  15 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/app/src/main/AndroidManifest.xml" />
  16 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/app/src/main/java/li/zhuoyuan/example/MainActivity.java" />
  17 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/app/src/main/res/drawable/launch_background.xml" />
  18 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png" />
  19 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png" />
  20 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png" />
  21 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png" />
  22 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" />
  23 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/app/src/main/res/values/styles.xml" />
  24 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/build.gradle" />
  25 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/gradle.properties" />
  26 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/gradle/wrapper/gradle-wrapper.jar" />
  27 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/gradle/wrapper/gradle-wrapper.properties" />
  28 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/gradlew" />
  29 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/gradlew.bat" />
  30 + <change beforePath="" afterPath="$PROJECT_DIR$/example/android/settings.gradle" />
  31 + <change beforePath="" afterPath="$PROJECT_DIR$/example/example_android.iml" />
  32 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/.gitignore" />
  33 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Flutter/AppFrameworkInfo.plist" />
  34 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Flutter/Debug.xcconfig" />
  35 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Flutter/Release.xcconfig" />
  36 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner.xcodeproj/project.pbxproj" />
  37 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata" />
  38 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme" />
  39 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner.xcworkspace/contents.xcworkspacedata" />
  40 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/AppDelegate.h" />
  41 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/AppDelegate.m" />
  42 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json" />
  43 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png" />
  44 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png" />
  45 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png" />
  46 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png" />
  47 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png" />
  48 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png" />
  49 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png" />
  50 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png" />
  51 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png" />
  52 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png" />
  53 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png" />
  54 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png" />
  55 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png" />
  56 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png" />
  57 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png" />
  58 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json" />
  59 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png" />
  60 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png" />
  61 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png" />
  62 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md" />
  63 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Base.lproj/LaunchScreen.storyboard" />
  64 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Base.lproj/Main.storyboard" />
  65 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/Info.plist" />
  66 + <change beforePath="" afterPath="$PROJECT_DIR$/example/ios/Runner/main.m" />
  67 + <change beforePath="" afterPath="$PROJECT_DIR$/example/lib/main.dart" />
  68 + <change beforePath="" afterPath="$PROJECT_DIR$/example/pubspec.lock" />
  69 + <change beforePath="" afterPath="$PROJECT_DIR$/example/pubspec.yaml" />
  70 + <change beforePath="" afterPath="$PROJECT_DIR$/example/test/widget_test.dart" />
8 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> 71 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
9 - <change beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />  
10 </list> 72 </list>
11 <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> 73 <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
12 <option name="TRACKING_ENABLED" value="true" /> 74 <option name="TRACKING_ENABLED" value="true" />
@@ -30,8 +92,8 @@ @@ -30,8 +92,8 @@
30 <file leaf-file-name="main.dart" pinned="false" current-in-tab="false"> 92 <file leaf-file-name="main.dart" pinned="false" current-in-tab="false">
31 <entry file="file://$PROJECT_DIR$/example/lib/main.dart"> 93 <entry file="file://$PROJECT_DIR$/example/lib/main.dart">
32 <provider selected="true" editor-type-id="text-editor"> 94 <provider selected="true" editor-type-id="text-editor">
33 - <state relative-caret-position="432">  
34 - <caret line="43" column="71" lean-forward="true" selection-start-line="36" selection-start-column="3" selection-end-line="43" selection-end-column="71" /> 95 + <state relative-caret-position="216">
  96 + <caret line="35" column="22" lean-forward="true" selection-start-line="35" selection-start-column="22" selection-end-line="35" selection-end-column="22" />
35 <folding> 97 <folding>
36 <element signature="e#0#39#0" expanded="true" /> 98 <element signature="e#0#39#0" expanded="true" />
37 </folding> 99 </folding>
@@ -39,11 +101,11 @@ @@ -39,11 +101,11 @@
39 </provider> 101 </provider>
40 </entry> 102 </entry>
41 </file> 103 </file>
42 - <file leaf-file-name="README.md" pinned="false" current-in-tab="true">  
43 - <entry file="file://$PROJECT_DIR$/README.md"> 104 + <file leaf-file-name="AndroidManifest.xml" pinned="false" current-in-tab="true">
  105 + <entry file="file://$PROJECT_DIR$/example/android/app/src/main/AndroidManifest.xml">
44 <provider selected="true" editor-type-id="text-editor"> 106 <provider selected="true" editor-type-id="text-editor">
45 - <state relative-caret-position="54">  
46 - <caret line="80" column="24" lean-forward="true" selection-start-line="80" selection-start-column="24" selection-end-line="80" selection-end-column="24" /> 107 + <state relative-caret-position="0">
  108 + <caret line="0" column="25" lean-forward="false" selection-start-line="0" selection-start-column="25" selection-end-line="0" selection-end-column="25" />
47 <folding /> 109 <folding />
48 </state> 110 </state>
49 </provider> 111 </provider>
@@ -270,6 +332,14 @@ @@ -270,6 +332,14 @@
270 <option name="presentableId" value="Default" /> 332 <option name="presentableId" value="Default" />
271 <updated>1537725879111</updated> 333 <updated>1537725879111</updated>
272 </task> 334 </task>
  335 + <task id="LOCAL-00001" summary="添加示例">
  336 + <created>1537771734341</created>
  337 + <option name="number" value="00001" />
  338 + <option name="presentableId" value="LOCAL-00001" />
  339 + <option name="project" value="LOCAL" />
  340 + <updated>1537771734341</updated>
  341 + </task>
  342 + <option name="localTasksCounter" value="2" />
273 <servers /> 343 <servers />
274 </component> 344 </component>
275 <component name="ToolWindowManager"> 345 <component name="ToolWindowManager">
@@ -284,11 +354,11 @@ @@ -284,11 +354,11 @@
284 <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> 354 <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
285 <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> 355 <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
286 <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> 356 <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
287 - <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297062" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" /> 357 + <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3297062" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
288 <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> 358 <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
289 <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> 359 <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
290 <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> 360 <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
291 - <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3297062" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> 361 + <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297062" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
292 <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> 362 <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
293 <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297062" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> 363 <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297062" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
294 <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> 364 <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
@@ -331,6 +401,10 @@ @@ -331,6 +401,10 @@
331 <component name="VcsContentAnnotationSettings"> 401 <component name="VcsContentAnnotationSettings">
332 <option name="myLimit" value="2678400000" /> 402 <option name="myLimit" value="2678400000" />
333 </component> 403 </component>
  404 + <component name="VcsManagerConfiguration">
  405 + <MESSAGE value="添加示例" />
  406 + <option name="LAST_COMMIT_MESSAGE" value="添加示例" />
  407 + </component>
334 <component name="XDebuggerManager"> 408 <component name="XDebuggerManager">
335 <breakpoint-manager /> 409 <breakpoint-manager />
336 <watches-manager /> 410 <watches-manager />
@@ -368,20 +442,28 @@ @@ -368,20 +442,28 @@
368 </state> 442 </state>
369 </provider> 443 </provider>
370 </entry> 444 </entry>
  445 + <entry file="file://$PROJECT_DIR$/README.md">
  446 + <provider selected="true" editor-type-id="text-editor">
  447 + <state relative-caret-position="54">
  448 + <caret line="80" column="24" lean-forward="false" selection-start-line="80" selection-start-column="24" selection-end-line="80" selection-end-column="24" />
  449 + <folding />
  450 + </state>
  451 + </provider>
  452 + </entry>
371 <entry file="file://$PROJECT_DIR$/example/lib/main.dart"> 453 <entry file="file://$PROJECT_DIR$/example/lib/main.dart">
372 <provider selected="true" editor-type-id="text-editor"> 454 <provider selected="true" editor-type-id="text-editor">
373 - <state relative-caret-position="432">  
374 - <caret line="43" column="71" lean-forward="true" selection-start-line="36" selection-start-column="3" selection-end-line="43" selection-end-column="71" /> 455 + <state relative-caret-position="216">
  456 + <caret line="35" column="22" lean-forward="true" selection-start-line="35" selection-start-column="22" selection-end-line="35" selection-end-column="22" />
375 <folding> 457 <folding>
376 <element signature="e#0#39#0" expanded="true" /> 458 <element signature="e#0#39#0" expanded="true" />
377 </folding> 459 </folding>
378 </state> 460 </state>
379 </provider> 461 </provider>
380 </entry> 462 </entry>
381 - <entry file="file://$PROJECT_DIR$/README.md"> 463 + <entry file="file://$PROJECT_DIR$/example/android/app/src/main/AndroidManifest.xml">
382 <provider selected="true" editor-type-id="text-editor"> 464 <provider selected="true" editor-type-id="text-editor">
383 - <state relative-caret-position="54">  
384 - <caret line="80" column="24" lean-forward="true" selection-start-line="80" selection-start-column="24" selection-end-line="80" selection-end-column="24" /> 465 + <state relative-caret-position="0">
  466 + <caret line="0" column="25" lean-forward="false" selection-start-line="0" selection-start-column="25" selection-end-line="0" selection-end-column="25" />
385 <folding /> 467 <folding />
386 </state> 468 </state>
387 </provider> 469 </provider>
  1 +.DS_Store
  2 +.dart_tool/
  3 +
  4 +.packages
  5 +.pub/
  6 +
  7 +build/
  8 +
  9 +.flutter-plugins
  1 +<component name="libraryTable">
  2 + <library name="Dart SDK">
  3 + <CLASSES>
  4 + <root url="file://D:\flutter/bin/cache/dart-sdk/lib/async" />
  5 + <root url="file://D:\flutter/bin/cache/dart-sdk/lib/collection" />
  6 + <root url="file://D:\flutter/bin/cache/dart-sdk/lib/convert" />
  7 + <root url="file://D:\flutter/bin/cache/dart-sdk/lib/core" />
  8 + <root url="file://D:\flutter/bin/cache/dart-sdk/lib/developer" />
  9 + <root url="file://D:\flutter/bin/cache/dart-sdk/lib/html" />
  10 + <root url="file://D:\flutter/bin/cache/dart-sdk/lib/io" />
  11 + <root url="file://D:\flutter/bin/cache/dart-sdk/lib/isolate" />
  12 + <root url="file://D:\flutter/bin/cache/dart-sdk/lib/math" />
  13 + <root url="file://D:\flutter/bin/cache/dart-sdk/lib/mirrors" />
  14 + <root url="file://D:\flutter/bin/cache/dart-sdk/lib/typed_data" />
  15 + </CLASSES>
  16 + <JAVADOC />
  17 + <SOURCES />
  18 + </library>
  19 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Flutter for Android">
  3 + <CLASSES>
  4 + <root url="jar://D:\flutter/bin/cache/artifacts/engine/android-arm/flutter.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC />
  7 + <SOURCES />
  8 + </library>
  9 +</component>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="ProjectModuleManager">
  4 + <modules>
  5 + <module fileurl="file://$PROJECT_DIR$/example.iml" filepath="$PROJECT_DIR$/example.iml" />
  6 + <module fileurl="file://$PROJECT_DIR$/example_android.iml" filepath="$PROJECT_DIR$/example_android.iml" />
  7 + </modules>
  8 + </component>
  9 +</project>
  1 +<component name="ProjectRunConfigurationManager">
  2 + <configuration default="false" name="main.dart" type="FlutterRunConfigurationType" factoryName="Flutter">
  3 + <option name="filePath" value="$PROJECT_DIR$/lib/main.dart" />
  4 + <method />
  5 + </configuration>
  6 +</component>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="FileEditorManager">
  4 + <leaf>
  5 + <file leaf-file-name="main.dart" pinned="false" current-in-tab="true">
  6 + <entry file="file://$PROJECT_DIR$/lib/main.dart">
  7 + <provider selected="true" editor-type-id="text-editor">
  8 + <state relative-caret-position="0">
  9 + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
  10 + </state>
  11 + </provider>
  12 + </entry>
  13 + </file>
  14 + </leaf>
  15 + </component>
  16 + <component name="ToolWindowManager">
  17 + <editor active="true" />
  18 + <layout>
  19 + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
  20 + </layout>
  21 + </component>
  22 + <component name="ProjectView">
  23 + <navigator currentView="ProjectPane" proportions="" version="1">
  24 + </navigator>
  25 + <panes>
  26 + <pane id="ProjectPane">
  27 + <option name="show-excluded-files" value="false" />
  28 + </pane>
  29 + </panes>
  30 + </component>
  31 + <component name="PropertiesComponent">
  32 + <property name="last_opened_file_path" value="$PROJECT_DIR$" />
  33 + <property name="dart.analysis.tool.window.force.activate" value="true" />
  34 + <property name="show.migrate.to.gradle.popup" value="false" />
  35 + </component>
  36 +</project>
  1 +# This file tracks properties of this Flutter project.
  2 +# Used by Flutter tool to assess capabilities and perform upgrades etc.
  3 +#
  4 +# This file should be version controlled and should not be manually edited.
  5 +
  6 +version:
  7 + revision: 3b309bda072a6b326e8aa4591a5836af600923ce
  8 + channel: beta
  1 +# example
  2 +
  3 +flutter_screenutil的使用示例
  4 +
  5 +## Getting Started
  6 +
  7 +For help getting started with Flutter, view our online
  8 +[documentation](https://flutter.io/).
  1 +*.iml
  2 +*.class
  3 +.gradle
  4 +/local.properties
  5 +/.idea/workspace.xml
  6 +/.idea/libraries
  7 +.DS_Store
  8 +/build
  9 +/captures
  10 +GeneratedPluginRegistrant.java
  1 +def localProperties = new Properties()
  2 +def localPropertiesFile = rootProject.file('local.properties')
  3 +if (localPropertiesFile.exists()) {
  4 + localPropertiesFile.withReader('UTF-8') { reader ->
  5 + localProperties.load(reader)
  6 + }
  7 +}
  8 +
  9 +def flutterRoot = localProperties.getProperty('flutter.sdk')
  10 +if (flutterRoot == null) {
  11 + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
  12 +}
  13 +
  14 +def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
  15 +if (flutterVersionCode == null) {
  16 + flutterVersionCode = '1'
  17 +}
  18 +
  19 +def flutterVersionName = localProperties.getProperty('flutter.versionName')
  20 +if (flutterVersionName == null) {
  21 + flutterVersionName = '1.0'
  22 +}
  23 +
  24 +apply plugin: 'com.android.application'
  25 +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
  26 +
  27 +android {
  28 + compileSdkVersion 27
  29 +
  30 + lintOptions {
  31 + disable 'InvalidPackage'
  32 + }
  33 +
  34 + defaultConfig {
  35 + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
  36 + applicationId "li.zhuoyuan.example"
  37 + minSdkVersion 16
  38 + targetSdkVersion 27
  39 + versionCode flutterVersionCode.toInteger()
  40 + versionName flutterVersionName
  41 + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  42 + }
  43 +
  44 + buildTypes {
  45 + release {
  46 + // TODO: Add your own signing config for the release build.
  47 + // Signing with the debug keys for now, so `flutter run --release` works.
  48 + signingConfig signingConfigs.debug
  49 + }
  50 + }
  51 +}
  52 +
  53 +flutter {
  54 + source '../..'
  55 +}
  56 +
  57 +dependencies {
  58 + testImplementation 'junit:junit:4.12'
  59 + androidTestImplementation 'com.android.support.test:runner:1.0.2'
  60 + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
  61 +}
  1 +<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  2 + package="li.zhuoyuan.example">
  3 +
  4 + <!-- The INTERNET permission is required for development. Specifically,
  5 + flutter needs it to communicate with the running application
  6 + to allow setting breakpoints, to provide hot reload, etc.
  7 + -->
  8 + <uses-permission android:name="android.permission.INTERNET"/>
  9 +
  10 + <!-- io.flutter.app.FlutterApplication is an android.app.Application that
  11 + calls FlutterMain.startInitialization(this); in its onCreate method.
  12 + In most cases you can leave this as-is, but you if you want to provide
  13 + additional functionality it is fine to subclass or reimplement
  14 + FlutterApplication and put your custom class here. -->
  15 + <application
  16 + android:name="io.flutter.app.FlutterApplication"
  17 + android:label="example"
  18 + android:icon="@mipmap/ic_launcher">
  19 + <activity
  20 + android:name=".MainActivity"
  21 + android:launchMode="singleTop"
  22 + android:theme="@style/LaunchTheme"
  23 + android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
  24 + android:hardwareAccelerated="true"
  25 + android:windowSoftInputMode="adjustResize">
  26 + <!-- This keeps the window background of the activity showing
  27 + until Flutter renders its first frame. It can be removed if
  28 + there is no splash screen (such as the default splash screen
  29 + defined in @style/LaunchTheme). -->
  30 + <meta-data
  31 + android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
  32 + android:value="true" />
  33 + <intent-filter>
  34 + <action android:name="android.intent.action.MAIN"/>
  35 + <category android:name="android.intent.category.LAUNCHER"/>
  36 + </intent-filter>
  37 + </activity>
  38 + </application>
  39 +</manifest>
  1 +package li.zhuoyuan.example;
  2 +
  3 +import android.os.Bundle;
  4 +import io.flutter.app.FlutterActivity;
  5 +import io.flutter.plugins.GeneratedPluginRegistrant;
  6 +
  7 +public class MainActivity extends FlutterActivity {
  8 + @Override
  9 + protected void onCreate(Bundle savedInstanceState) {
  10 + super.onCreate(savedInstanceState);
  11 + GeneratedPluginRegistrant.registerWith(this);
  12 + }
  13 +}
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<!-- Modify this file to customize your launch splash screen -->
  3 +<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  4 + <item android:drawable="@android:color/white" />
  5 +
  6 + <!-- You can insert your own image assets here -->
  7 + <!-- <item>
  8 + <bitmap
  9 + android:gravity="center"
  10 + android:src="@mipmap/launch_image" />
  11 + </item> -->
  12 +</layer-list>
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<resources>
  3 + <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
  4 + <!-- Show a splash screen on the activity. Automatically removed when
  5 + Flutter draws its first frame -->
  6 + <item name="android:windowBackground">@drawable/launch_background</item>
  7 + </style>
  8 +</resources>
  1 +buildscript {
  2 + repositories {
  3 + google()
  4 + jcenter()
  5 + }
  6 +
  7 + dependencies {
  8 + classpath 'com.android.tools.build:gradle:3.1.2'
  9 + }
  10 +}
  11 +
  12 +allprojects {
  13 + repositories {
  14 + google()
  15 + jcenter()
  16 + }
  17 +}
  18 +
  19 +rootProject.buildDir = '../build'
  20 +subprojects {
  21 + project.buildDir = "${rootProject.buildDir}/${project.name}"
  22 +}
  23 +subprojects {
  24 + project.evaluationDependsOn(':app')
  25 +}
  26 +
  27 +task clean(type: Delete) {
  28 + delete rootProject.buildDir
  29 +}
  1 +org.gradle.jvmargs=-Xmx1536M
  1 +#Fri Jun 23 08:50:38 CEST 2017
  2 +distributionBase=GRADLE_USER_HOME
  3 +distributionPath=wrapper/dists
  4 +zipStoreBase=GRADLE_USER_HOME
  5 +zipStorePath=wrapper/dists
  6 +distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
  1 +#!/usr/bin/env bash
  2 +
  3 +##############################################################################
  4 +##
  5 +## Gradle start up script for UN*X
  6 +##
  7 +##############################################################################
  8 +
  9 +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
  10 +DEFAULT_JVM_OPTS=""
  11 +
  12 +APP_NAME="Gradle"
  13 +APP_BASE_NAME=`basename "$0"`
  14 +
  15 +# Use the maximum available, or set MAX_FD != -1 to use that value.
  16 +MAX_FD="maximum"
  17 +
  18 +warn ( ) {
  19 + echo "$*"
  20 +}
  21 +
  22 +die ( ) {
  23 + echo
  24 + echo "$*"
  25 + echo
  26 + exit 1
  27 +}
  28 +
  29 +# OS specific support (must be 'true' or 'false').
  30 +cygwin=false
  31 +msys=false
  32 +darwin=false
  33 +case "`uname`" in
  34 + CYGWIN* )
  35 + cygwin=true
  36 + ;;
  37 + Darwin* )
  38 + darwin=true
  39 + ;;
  40 + MINGW* )
  41 + msys=true
  42 + ;;
  43 +esac
  44 +
  45 +# Attempt to set APP_HOME
  46 +# Resolve links: $0 may be a link
  47 +PRG="$0"
  48 +# Need this for relative symlinks.
  49 +while [ -h "$PRG" ] ; do
  50 + ls=`ls -ld "$PRG"`
  51 + link=`expr "$ls" : '.*-> \(.*\)$'`
  52 + if expr "$link" : '/.*' > /dev/null; then
  53 + PRG="$link"
  54 + else
  55 + PRG=`dirname "$PRG"`"/$link"
  56 + fi
  57 +done
  58 +SAVED="`pwd`"
  59 +cd "`dirname \"$PRG\"`/" >/dev/null
  60 +APP_HOME="`pwd -P`"
  61 +cd "$SAVED" >/dev/null
  62 +
  63 +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
  64 +
  65 +# Determine the Java command to use to start the JVM.
  66 +if [ -n "$JAVA_HOME" ] ; then
  67 + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
  68 + # IBM's JDK on AIX uses strange locations for the executables
  69 + JAVACMD="$JAVA_HOME/jre/sh/java"
  70 + else
  71 + JAVACMD="$JAVA_HOME/bin/java"
  72 + fi
  73 + if [ ! -x "$JAVACMD" ] ; then
  74 + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
  75 +
  76 +Please set the JAVA_HOME variable in your environment to match the
  77 +location of your Java installation."
  78 + fi
  79 +else
  80 + JAVACMD="java"
  81 + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
  82 +
  83 +Please set the JAVA_HOME variable in your environment to match the
  84 +location of your Java installation."
  85 +fi
  86 +
  87 +# Increase the maximum file descriptors if we can.
  88 +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
  89 + MAX_FD_LIMIT=`ulimit -H -n`
  90 + if [ $? -eq 0 ] ; then
  91 + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
  92 + MAX_FD="$MAX_FD_LIMIT"
  93 + fi
  94 + ulimit -n $MAX_FD
  95 + if [ $? -ne 0 ] ; then
  96 + warn "Could not set maximum file descriptor limit: $MAX_FD"
  97 + fi
  98 + else
  99 + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
  100 + fi
  101 +fi
  102 +
  103 +# For Darwin, add options to specify how the application appears in the dock
  104 +if $darwin; then
  105 + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
  106 +fi
  107 +
  108 +# For Cygwin, switch paths to Windows format before running java
  109 +if $cygwin ; then
  110 + APP_HOME=`cygpath --path --mixed "$APP_HOME"`
  111 + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
  112 + JAVACMD=`cygpath --unix "$JAVACMD"`
  113 +
  114 + # We build the pattern for arguments to be converted via cygpath
  115 + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
  116 + SEP=""
  117 + for dir in $ROOTDIRSRAW ; do
  118 + ROOTDIRS="$ROOTDIRS$SEP$dir"
  119 + SEP="|"
  120 + done
  121 + OURCYGPATTERN="(^($ROOTDIRS))"
  122 + # Add a user-defined pattern to the cygpath arguments
  123 + if [ "$GRADLE_CYGPATTERN" != "" ] ; then
  124 + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
  125 + fi
  126 + # Now convert the arguments - kludge to limit ourselves to /bin/sh
  127 + i=0
  128 + for arg in "$@" ; do
  129 + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
  130 + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
  131 +
  132 + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
  133 + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
  134 + else
  135 + eval `echo args$i`="\"$arg\""
  136 + fi
  137 + i=$((i+1))
  138 + done
  139 + case $i in
  140 + (0) set -- ;;
  141 + (1) set -- "$args0" ;;
  142 + (2) set -- "$args0" "$args1" ;;
  143 + (3) set -- "$args0" "$args1" "$args2" ;;
  144 + (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
  145 + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
  146 + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
  147 + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
  148 + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
  149 + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
  150 + esac
  151 +fi
  152 +
  153 +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
  154 +function splitJvmOpts() {
  155 + JVM_OPTS=("$@")
  156 +}
  157 +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
  158 +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
  159 +
  160 +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
  1 +@if "%DEBUG%" == "" @echo off
  2 +@rem ##########################################################################
  3 +@rem
  4 +@rem Gradle startup script for Windows
  5 +@rem
  6 +@rem ##########################################################################
  7 +
  8 +@rem Set local scope for the variables with windows NT shell
  9 +if "%OS%"=="Windows_NT" setlocal
  10 +
  11 +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
  12 +set DEFAULT_JVM_OPTS=
  13 +
  14 +set DIRNAME=%~dp0
  15 +if "%DIRNAME%" == "" set DIRNAME=.
  16 +set APP_BASE_NAME=%~n0
  17 +set APP_HOME=%DIRNAME%
  18 +
  19 +@rem Find java.exe
  20 +if defined JAVA_HOME goto findJavaFromJavaHome
  21 +
  22 +set JAVA_EXE=java.exe
  23 +%JAVA_EXE% -version >NUL 2>&1
  24 +if "%ERRORLEVEL%" == "0" goto init
  25 +
  26 +echo.
  27 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
  28 +echo.
  29 +echo Please set the JAVA_HOME variable in your environment to match the
  30 +echo location of your Java installation.
  31 +
  32 +goto fail
  33 +
  34 +:findJavaFromJavaHome
  35 +set JAVA_HOME=%JAVA_HOME:"=%
  36 +set JAVA_EXE=%JAVA_HOME%/bin/java.exe
  37 +
  38 +if exist "%JAVA_EXE%" goto init
  39 +
  40 +echo.
  41 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
  42 +echo.
  43 +echo Please set the JAVA_HOME variable in your environment to match the
  44 +echo location of your Java installation.
  45 +
  46 +goto fail
  47 +
  48 +:init
  49 +@rem Get command-line arguments, handling Windowz variants
  50 +
  51 +if not "%OS%" == "Windows_NT" goto win9xME_args
  52 +if "%@eval[2+2]" == "4" goto 4NT_args
  53 +
  54 +:win9xME_args
  55 +@rem Slurp the command line arguments.
  56 +set CMD_LINE_ARGS=
  57 +set _SKIP=2
  58 +
  59 +:win9xME_args_slurp
  60 +if "x%~1" == "x" goto execute
  61 +
  62 +set CMD_LINE_ARGS=%*
  63 +goto execute
  64 +
  65 +:4NT_args
  66 +@rem Get arguments from the 4NT Shell from JP Software
  67 +set CMD_LINE_ARGS=%$
  68 +
  69 +:execute
  70 +@rem Setup the command line
  71 +
  72 +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
  73 +
  74 +@rem Execute Gradle
  75 +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
  76 +
  77 +:end
  78 +@rem End local scope for the variables with windows NT shell
  79 +if "%ERRORLEVEL%"=="0" goto mainEnd
  80 +
  81 +:fail
  82 +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
  83 +rem the _cmd.exe /c_ return code!
  84 +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
  85 +exit /b 1
  86 +
  87 +:mainEnd
  88 +if "%OS%"=="Windows_NT" endlocal
  89 +
  90 +:omega
  1 +include ':app'
  2 +
  3 +def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
  4 +
  5 +def plugins = new Properties()
  6 +def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
  7 +if (pluginsFile.exists()) {
  8 + pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
  9 +}
  10 +
  11 +plugins.each { name, path ->
  12 + def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
  13 + include ":$name"
  14 + project(":$name").projectDir = pluginDirectory
  15 +}
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<module type="JAVA_MODULE" version="4">
  3 + <component name="FacetManager">
  4 + <facet type="android" name="Android">
  5 + <configuration>
  6 + <option name="ALLOW_USER_CONFIGURATION" value="false" />
  7 + <option name="GEN_FOLDER_RELATIVE_PATH_APT" value="/android/gen" />
  8 + <option name="GEN_FOLDER_RELATIVE_PATH_AIDL" value="/android/gen" />
  9 + <option name="MANIFEST_FILE_RELATIVE_PATH" value="/android/AndroidManifest.xml" />
  10 + <option name="RES_FOLDER_RELATIVE_PATH" value="/android/res" />
  11 + <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/android/assets" />
  12 + <option name="LIBS_FOLDER_RELATIVE_PATH" value="/android/libs" />
  13 + <option name="PROGUARD_LOGS_FOLDER_RELATIVE_PATH" value="/android/proguard_logs" />
  14 + </configuration>
  15 + </facet>
  16 + </component>
  17 + <component name="NewModuleRootManager" inherit-compiler-output="true">
  18 + <exclude-output />
  19 + <content url="file://$MODULE_DIR$/android">
  20 + <sourceFolder url="file://$MODULE_DIR$/android/app/src/main/java" isTestSource="false" />
  21 + <sourceFolder url="file://$MODULE_DIR$/android/gen" isTestSource="false" generated="true" />
  22 + </content>
  23 + <orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK" />
  24 + <orderEntry type="sourceFolder" forTests="false" />
  25 + <orderEntry type="library" name="Flutter for Android" level="project" />
  26 + </component>
  27 +</module>
  1 +.idea/
  2 +.vagrant/
  3 +.sconsign.dblite
  4 +.svn/
  5 +
  6 +.DS_Store
  7 +*.swp
  8 +profile
  9 +
  10 +DerivedData/
  11 +build/
  12 +GeneratedPluginRegistrant.h
  13 +GeneratedPluginRegistrant.m
  14 +
  15 +.generated/
  16 +
  17 +*.pbxuser
  18 +*.mode1v3
  19 +*.mode2v3
  20 +*.perspectivev3
  21 +
  22 +!default.pbxuser
  23 +!default.mode1v3
  24 +!default.mode2v3
  25 +!default.perspectivev3
  26 +
  27 +xcuserdata
  28 +
  29 +*.moved-aside
  30 +
  31 +*.pyc
  32 +*sync/
  33 +Icon?
  34 +.tags*
  35 +
  36 +/Flutter/app.flx
  37 +/Flutter/app.zip
  38 +/Flutter/flutter_assets/
  39 +/Flutter/App.framework
  40 +/Flutter/Flutter.framework
  41 +/Flutter/Generated.xcconfig
  42 +/ServiceDefinitions.json
  43 +
  44 +Pods/
  45 +.symlinks/
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>CFBundleDevelopmentRegion</key>
  6 + <string>en</string>
  7 + <key>CFBundleExecutable</key>
  8 + <string>App</string>
  9 + <key>CFBundleIdentifier</key>
  10 + <string>io.flutter.flutter.app</string>
  11 + <key>CFBundleInfoDictionaryVersion</key>
  12 + <string>6.0</string>
  13 + <key>CFBundleName</key>
  14 + <string>App</string>
  15 + <key>CFBundlePackageType</key>
  16 + <string>FMWK</string>
  17 + <key>CFBundleShortVersionString</key>
  18 + <string>1.0</string>
  19 + <key>CFBundleSignature</key>
  20 + <string>????</string>
  21 + <key>CFBundleVersion</key>
  22 + <string>1.0</string>
  23 + <key>MinimumOSVersion</key>
  24 + <string>8.0</string>
  25 +</dict>
  26 +</plist>
  1 +#include "Generated.xcconfig"
  1 +#include "Generated.xcconfig"
  1 +// !$*UTF8*$!
  2 +{
  3 + archiveVersion = 1;
  4 + classes = {
  5 + };
  6 + objectVersion = 46;
  7 + objects = {
  8 +
  9 +/* Begin PBXBuildFile section */
  10 + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
  11 + 2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */ = {isa = PBXBuildFile; fileRef = 2D5378251FAA1A9400D5DBA9 /* flutter_assets */; };
  12 + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
  13 + 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
  14 + 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
  15 + 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
  16 + 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
  17 + 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; };
  18 + 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
  19 + 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
  20 + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
  21 + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
  22 + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
  23 +/* End PBXBuildFile section */
  24 +
  25 +/* Begin PBXCopyFilesBuildPhase section */
  26 + 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
  27 + isa = PBXCopyFilesBuildPhase;
  28 + buildActionMask = 2147483647;
  29 + dstPath = "";
  30 + dstSubfolderSpec = 10;
  31 + files = (
  32 + 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */,
  33 + 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */,
  34 + );
  35 + name = "Embed Frameworks";
  36 + runOnlyForDeploymentPostprocessing = 0;
  37 + };
  38 +/* End PBXCopyFilesBuildPhase section */
  39 +
  40 +/* Begin PBXFileReference section */
  41 + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
  42 + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
  43 + 2D5378251FAA1A9400D5DBA9 /* flutter_assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = flutter_assets; path = Flutter/flutter_assets; sourceTree = SOURCE_ROOT; };
  44 + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
  45 + 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
  46 + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
  47 + 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
  48 + 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
  49 + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
  50 + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
  51 + 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = "<group>"; };
  52 + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
  53 + 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
  54 + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
  55 + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
  56 + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
  57 + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  58 +/* End PBXFileReference section */
  59 +
  60 +/* Begin PBXFrameworksBuildPhase section */
  61 + 97C146EB1CF9000F007C117D /* Frameworks */ = {
  62 + isa = PBXFrameworksBuildPhase;
  63 + buildActionMask = 2147483647;
  64 + files = (
  65 + 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
  66 + 3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
  67 + );
  68 + runOnlyForDeploymentPostprocessing = 0;
  69 + };
  70 +/* End PBXFrameworksBuildPhase section */
  71 +
  72 +/* Begin PBXGroup section */
  73 + 9740EEB11CF90186004384FC /* Flutter */ = {
  74 + isa = PBXGroup;
  75 + children = (
  76 + 2D5378251FAA1A9400D5DBA9 /* flutter_assets */,
  77 + 3B80C3931E831B6300D905FE /* App.framework */,
  78 + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
  79 + 9740EEBA1CF902C7004384FC /* Flutter.framework */,
  80 + 9740EEB21CF90195004384FC /* Debug.xcconfig */,
  81 + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
  82 + 9740EEB31CF90195004384FC /* Generated.xcconfig */,
  83 + );
  84 + name = Flutter;
  85 + sourceTree = "<group>";
  86 + };
  87 + 97C146E51CF9000F007C117D = {
  88 + isa = PBXGroup;
  89 + children = (
  90 + 9740EEB11CF90186004384FC /* Flutter */,
  91 + 97C146F01CF9000F007C117D /* Runner */,
  92 + 97C146EF1CF9000F007C117D /* Products */,
  93 + CF3B75C9A7D2FA2A4C99F110 /* Frameworks */,
  94 + );
  95 + sourceTree = "<group>";
  96 + };
  97 + 97C146EF1CF9000F007C117D /* Products */ = {
  98 + isa = PBXGroup;
  99 + children = (
  100 + 97C146EE1CF9000F007C117D /* Runner.app */,
  101 + );
  102 + name = Products;
  103 + sourceTree = "<group>";
  104 + };
  105 + 97C146F01CF9000F007C117D /* Runner */ = {
  106 + isa = PBXGroup;
  107 + children = (
  108 + 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */,
  109 + 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */,
  110 + 97C146FA1CF9000F007C117D /* Main.storyboard */,
  111 + 97C146FD1CF9000F007C117D /* Assets.xcassets */,
  112 + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
  113 + 97C147021CF9000F007C117D /* Info.plist */,
  114 + 97C146F11CF9000F007C117D /* Supporting Files */,
  115 + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
  116 + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
  117 + );
  118 + path = Runner;
  119 + sourceTree = "<group>";
  120 + };
  121 + 97C146F11CF9000F007C117D /* Supporting Files */ = {
  122 + isa = PBXGroup;
  123 + children = (
  124 + 97C146F21CF9000F007C117D /* main.m */,
  125 + );
  126 + name = "Supporting Files";
  127 + sourceTree = "<group>";
  128 + };
  129 +/* End PBXGroup section */
  130 +
  131 +/* Begin PBXNativeTarget section */
  132 + 97C146ED1CF9000F007C117D /* Runner */ = {
  133 + isa = PBXNativeTarget;
  134 + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
  135 + buildPhases = (
  136 + 9740EEB61CF901F6004384FC /* Run Script */,
  137 + 97C146EA1CF9000F007C117D /* Sources */,
  138 + 97C146EB1CF9000F007C117D /* Frameworks */,
  139 + 97C146EC1CF9000F007C117D /* Resources */,
  140 + 9705A1C41CF9048500538489 /* Embed Frameworks */,
  141 + 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
  142 + );
  143 + buildRules = (
  144 + );
  145 + dependencies = (
  146 + );
  147 + name = Runner;
  148 + productName = Runner;
  149 + productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
  150 + productType = "com.apple.product-type.application";
  151 + };
  152 +/* End PBXNativeTarget section */
  153 +
  154 +/* Begin PBXProject section */
  155 + 97C146E61CF9000F007C117D /* Project object */ = {
  156 + isa = PBXProject;
  157 + attributes = {
  158 + LastUpgradeCheck = 0910;
  159 + ORGANIZATIONNAME = "The Chromium Authors";
  160 + TargetAttributes = {
  161 + 97C146ED1CF9000F007C117D = {
  162 + CreatedOnToolsVersion = 7.3.1;
  163 + };
  164 + };
  165 + };
  166 + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
  167 + compatibilityVersion = "Xcode 3.2";
  168 + developmentRegion = English;
  169 + hasScannedForEncodings = 0;
  170 + knownRegions = (
  171 + en,
  172 + Base,
  173 + );
  174 + mainGroup = 97C146E51CF9000F007C117D;
  175 + productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
  176 + projectDirPath = "";
  177 + projectRoot = "";
  178 + targets = (
  179 + 97C146ED1CF9000F007C117D /* Runner */,
  180 + );
  181 + };
  182 +/* End PBXProject section */
  183 +
  184 +/* Begin PBXResourcesBuildPhase section */
  185 + 97C146EC1CF9000F007C117D /* Resources */ = {
  186 + isa = PBXResourcesBuildPhase;
  187 + buildActionMask = 2147483647;
  188 + files = (
  189 + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
  190 + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
  191 + 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */,
  192 + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
  193 + 2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */,
  194 + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
  195 + );
  196 + runOnlyForDeploymentPostprocessing = 0;
  197 + };
  198 +/* End PBXResourcesBuildPhase section */
  199 +
  200 +/* Begin PBXShellScriptBuildPhase section */
  201 + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
  202 + isa = PBXShellScriptBuildPhase;
  203 + buildActionMask = 2147483647;
  204 + files = (
  205 + );
  206 + inputPaths = (
  207 + );
  208 + name = "Thin Binary";
  209 + outputPaths = (
  210 + );
  211 + runOnlyForDeploymentPostprocessing = 0;
  212 + shellPath = /bin/sh;
  213 + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
  214 + };
  215 + 9740EEB61CF901F6004384FC /* Run Script */ = {
  216 + isa = PBXShellScriptBuildPhase;
  217 + buildActionMask = 2147483647;
  218 + files = (
  219 + );
  220 + inputPaths = (
  221 + );
  222 + name = "Run Script";
  223 + outputPaths = (
  224 + );
  225 + runOnlyForDeploymentPostprocessing = 0;
  226 + shellPath = /bin/sh;
  227 + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
  228 + };
  229 +/* End PBXShellScriptBuildPhase section */
  230 +
  231 +/* Begin PBXSourcesBuildPhase section */
  232 + 97C146EA1CF9000F007C117D /* Sources */ = {
  233 + isa = PBXSourcesBuildPhase;
  234 + buildActionMask = 2147483647;
  235 + files = (
  236 + 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */,
  237 + 97C146F31CF9000F007C117D /* main.m in Sources */,
  238 + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
  239 + );
  240 + runOnlyForDeploymentPostprocessing = 0;
  241 + };
  242 +/* End PBXSourcesBuildPhase section */
  243 +
  244 +/* Begin PBXVariantGroup section */
  245 + 97C146FA1CF9000F007C117D /* Main.storyboard */ = {
  246 + isa = PBXVariantGroup;
  247 + children = (
  248 + 97C146FB1CF9000F007C117D /* Base */,
  249 + );
  250 + name = Main.storyboard;
  251 + sourceTree = "<group>";
  252 + };
  253 + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
  254 + isa = PBXVariantGroup;
  255 + children = (
  256 + 97C147001CF9000F007C117D /* Base */,
  257 + );
  258 + name = LaunchScreen.storyboard;
  259 + sourceTree = "<group>";
  260 + };
  261 +/* End PBXVariantGroup section */
  262 +
  263 +/* Begin XCBuildConfiguration section */
  264 + 97C147031CF9000F007C117D /* Debug */ = {
  265 + isa = XCBuildConfiguration;
  266 + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
  267 + buildSettings = {
  268 + ALWAYS_SEARCH_USER_PATHS = NO;
  269 + CLANG_ANALYZER_NONNULL = YES;
  270 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
  271 + CLANG_CXX_LIBRARY = "libc++";
  272 + CLANG_ENABLE_MODULES = YES;
  273 + CLANG_ENABLE_OBJC_ARC = YES;
  274 + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  275 + CLANG_WARN_BOOL_CONVERSION = YES;
  276 + CLANG_WARN_COMMA = YES;
  277 + CLANG_WARN_CONSTANT_CONVERSION = YES;
  278 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  279 + CLANG_WARN_EMPTY_BODY = YES;
  280 + CLANG_WARN_ENUM_CONVERSION = YES;
  281 + CLANG_WARN_INFINITE_RECURSION = YES;
  282 + CLANG_WARN_INT_CONVERSION = YES;
  283 + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  284 + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  285 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  286 + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  287 + CLANG_WARN_STRICT_PROTOTYPES = YES;
  288 + CLANG_WARN_SUSPICIOUS_MOVE = YES;
  289 + CLANG_WARN_UNREACHABLE_CODE = YES;
  290 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  291 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
  292 + COPY_PHASE_STRIP = NO;
  293 + DEBUG_INFORMATION_FORMAT = dwarf;
  294 + ENABLE_STRICT_OBJC_MSGSEND = YES;
  295 + ENABLE_TESTABILITY = YES;
  296 + GCC_C_LANGUAGE_STANDARD = gnu99;
  297 + GCC_DYNAMIC_NO_PIC = NO;
  298 + GCC_NO_COMMON_BLOCKS = YES;
  299 + GCC_OPTIMIZATION_LEVEL = 0;
  300 + GCC_PREPROCESSOR_DEFINITIONS = (
  301 + "DEBUG=1",
  302 + "$(inherited)",
  303 + );
  304 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  305 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  306 + GCC_WARN_UNDECLARED_SELECTOR = YES;
  307 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  308 + GCC_WARN_UNUSED_FUNCTION = YES;
  309 + GCC_WARN_UNUSED_VARIABLE = YES;
  310 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  311 + MTL_ENABLE_DEBUG_INFO = YES;
  312 + ONLY_ACTIVE_ARCH = YES;
  313 + SDKROOT = iphoneos;
  314 + TARGETED_DEVICE_FAMILY = "1,2";
  315 + };
  316 + name = Debug;
  317 + };
  318 + 97C147041CF9000F007C117D /* Release */ = {
  319 + isa = XCBuildConfiguration;
  320 + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
  321 + buildSettings = {
  322 + ALWAYS_SEARCH_USER_PATHS = NO;
  323 + CLANG_ANALYZER_NONNULL = YES;
  324 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
  325 + CLANG_CXX_LIBRARY = "libc++";
  326 + CLANG_ENABLE_MODULES = YES;
  327 + CLANG_ENABLE_OBJC_ARC = YES;
  328 + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  329 + CLANG_WARN_BOOL_CONVERSION = YES;
  330 + CLANG_WARN_COMMA = YES;
  331 + CLANG_WARN_CONSTANT_CONVERSION = YES;
  332 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  333 + CLANG_WARN_EMPTY_BODY = YES;
  334 + CLANG_WARN_ENUM_CONVERSION = YES;
  335 + CLANG_WARN_INFINITE_RECURSION = YES;
  336 + CLANG_WARN_INT_CONVERSION = YES;
  337 + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  338 + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  339 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  340 + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  341 + CLANG_WARN_STRICT_PROTOTYPES = YES;
  342 + CLANG_WARN_SUSPICIOUS_MOVE = YES;
  343 + CLANG_WARN_UNREACHABLE_CODE = YES;
  344 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  345 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
  346 + COPY_PHASE_STRIP = NO;
  347 + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  348 + ENABLE_NS_ASSERTIONS = NO;
  349 + ENABLE_STRICT_OBJC_MSGSEND = YES;
  350 + GCC_C_LANGUAGE_STANDARD = gnu99;
  351 + GCC_NO_COMMON_BLOCKS = YES;
  352 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  353 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  354 + GCC_WARN_UNDECLARED_SELECTOR = YES;
  355 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  356 + GCC_WARN_UNUSED_FUNCTION = YES;
  357 + GCC_WARN_UNUSED_VARIABLE = YES;
  358 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  359 + MTL_ENABLE_DEBUG_INFO = NO;
  360 + SDKROOT = iphoneos;
  361 + TARGETED_DEVICE_FAMILY = "1,2";
  362 + VALIDATE_PRODUCT = YES;
  363 + };
  364 + name = Release;
  365 + };
  366 + 97C147061CF9000F007C117D /* Debug */ = {
  367 + isa = XCBuildConfiguration;
  368 + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
  369 + buildSettings = {
  370 + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  371 + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
  372 + ENABLE_BITCODE = NO;
  373 + FRAMEWORK_SEARCH_PATHS = (
  374 + "$(inherited)",
  375 + "$(PROJECT_DIR)/Flutter",
  376 + );
  377 + INFOPLIST_FILE = Runner/Info.plist;
  378 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
  379 + LIBRARY_SEARCH_PATHS = (
  380 + "$(inherited)",
  381 + "$(PROJECT_DIR)/Flutter",
  382 + );
  383 + PRODUCT_BUNDLE_IDENTIFIER = li.zhuoyuan.example;
  384 + PRODUCT_NAME = "$(TARGET_NAME)";
  385 + VERSIONING_SYSTEM = "apple-generic";
  386 + };
  387 + name = Debug;
  388 + };
  389 + 97C147071CF9000F007C117D /* Release */ = {
  390 + isa = XCBuildConfiguration;
  391 + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
  392 + buildSettings = {
  393 + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  394 + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
  395 + ENABLE_BITCODE = NO;
  396 + FRAMEWORK_SEARCH_PATHS = (
  397 + "$(inherited)",
  398 + "$(PROJECT_DIR)/Flutter",
  399 + );
  400 + INFOPLIST_FILE = Runner/Info.plist;
  401 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
  402 + LIBRARY_SEARCH_PATHS = (
  403 + "$(inherited)",
  404 + "$(PROJECT_DIR)/Flutter",
  405 + );
  406 + PRODUCT_BUNDLE_IDENTIFIER = li.zhuoyuan.example;
  407 + PRODUCT_NAME = "$(TARGET_NAME)";
  408 + VERSIONING_SYSTEM = "apple-generic";
  409 + };
  410 + name = Release;
  411 + };
  412 +/* End XCBuildConfiguration section */
  413 +
  414 +/* Begin XCConfigurationList section */
  415 + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
  416 + isa = XCConfigurationList;
  417 + buildConfigurations = (
  418 + 97C147031CF9000F007C117D /* Debug */,
  419 + 97C147041CF9000F007C117D /* Release */,
  420 + );
  421 + defaultConfigurationIsVisible = 0;
  422 + defaultConfigurationName = Release;
  423 + };
  424 + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
  425 + isa = XCConfigurationList;
  426 + buildConfigurations = (
  427 + 97C147061CF9000F007C117D /* Debug */,
  428 + 97C147071CF9000F007C117D /* Release */,
  429 + );
  430 + defaultConfigurationIsVisible = 0;
  431 + defaultConfigurationName = Release;
  432 + };
  433 +/* End XCConfigurationList section */
  434 + };
  435 + rootObject = 97C146E61CF9000F007C117D /* Project object */;
  436 +}
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Workspace
  3 + version = "1.0">
  4 + <FileRef
  5 + location = "group:Runner.xcodeproj">
  6 + </FileRef>
  7 +</Workspace>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0910"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForTesting = "YES"
  11 + buildForRunning = "YES"
  12 + buildForProfiling = "YES"
  13 + buildForArchiving = "YES"
  14 + buildForAnalyzing = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "97C146ED1CF9000F007C117D"
  18 + BuildableName = "Runner.app"
  19 + BlueprintName = "Runner"
  20 + ReferencedContainer = "container:Runner.xcodeproj">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + buildConfiguration = "Debug"
  27 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  28 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  29 + language = ""
  30 + shouldUseLaunchSchemeArgsEnv = "YES">
  31 + <Testables>
  32 + </Testables>
  33 + <MacroExpansion>
  34 + <BuildableReference
  35 + BuildableIdentifier = "primary"
  36 + BlueprintIdentifier = "97C146ED1CF9000F007C117D"
  37 + BuildableName = "Runner.app"
  38 + BlueprintName = "Runner"
  39 + ReferencedContainer = "container:Runner.xcodeproj">
  40 + </BuildableReference>
  41 + </MacroExpansion>
  42 + <AdditionalOptions>
  43 + </AdditionalOptions>
  44 + </TestAction>
  45 + <LaunchAction
  46 + buildConfiguration = "Debug"
  47 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  48 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  49 + language = ""
  50 + launchStyle = "0"
  51 + useCustomWorkingDirectory = "NO"
  52 + ignoresPersistentStateOnLaunch = "NO"
  53 + debugDocumentVersioning = "YES"
  54 + debugServiceExtension = "internal"
  55 + allowLocationSimulation = "YES">
  56 + <BuildableProductRunnable
  57 + runnableDebuggingMode = "0">
  58 + <BuildableReference
  59 + BuildableIdentifier = "primary"
  60 + BlueprintIdentifier = "97C146ED1CF9000F007C117D"
  61 + BuildableName = "Runner.app"
  62 + BlueprintName = "Runner"
  63 + ReferencedContainer = "container:Runner.xcodeproj">
  64 + </BuildableReference>
  65 + </BuildableProductRunnable>
  66 + <AdditionalOptions>
  67 + </AdditionalOptions>
  68 + </LaunchAction>
  69 + <ProfileAction
  70 + buildConfiguration = "Release"
  71 + shouldUseLaunchSchemeArgsEnv = "YES"
  72 + savedToolIdentifier = ""
  73 + useCustomWorkingDirectory = "NO"
  74 + debugDocumentVersioning = "YES">
  75 + <BuildableProductRunnable
  76 + runnableDebuggingMode = "0">
  77 + <BuildableReference
  78 + BuildableIdentifier = "primary"
  79 + BlueprintIdentifier = "97C146ED1CF9000F007C117D"
  80 + BuildableName = "Runner.app"
  81 + BlueprintName = "Runner"
  82 + ReferencedContainer = "container:Runner.xcodeproj">
  83 + </BuildableReference>
  84 + </BuildableProductRunnable>
  85 + </ProfileAction>
  86 + <AnalyzeAction
  87 + buildConfiguration = "Debug">
  88 + </AnalyzeAction>
  89 + <ArchiveAction
  90 + buildConfiguration = "Release"
  91 + revealArchiveInOrganizer = "YES">
  92 + </ArchiveAction>
  93 +</Scheme>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Workspace
  3 + version = "1.0">
  4 + <FileRef
  5 + location = "group:Runner.xcodeproj">
  6 + </FileRef>
  7 +</Workspace>
  1 +#import <Flutter/Flutter.h>
  2 +#import <UIKit/UIKit.h>
  3 +
  4 +@interface AppDelegate : FlutterAppDelegate
  5 +
  6 +@end
  1 +#include "AppDelegate.h"
  2 +#include "GeneratedPluginRegistrant.h"
  3 +
  4 +@implementation AppDelegate
  5 +
  6 +- (BOOL)application:(UIApplication *)application
  7 + didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  8 + [GeneratedPluginRegistrant registerWithRegistry:self];
  9 + // Override point for customization after application launch.
  10 + return [super application:application didFinishLaunchingWithOptions:launchOptions];
  11 +}
  12 +
  13 +@end
  1 +{
  2 + "images" : [
  3 + {
  4 + "size" : "20x20",
  5 + "idiom" : "iphone",
  6 + "filename" : "Icon-App-20x20@2x.png",
  7 + "scale" : "2x"
  8 + },
  9 + {
  10 + "size" : "20x20",
  11 + "idiom" : "iphone",
  12 + "filename" : "Icon-App-20x20@3x.png",
  13 + "scale" : "3x"
  14 + },
  15 + {
  16 + "size" : "29x29",
  17 + "idiom" : "iphone",
  18 + "filename" : "Icon-App-29x29@1x.png",
  19 + "scale" : "1x"
  20 + },
  21 + {
  22 + "size" : "29x29",
  23 + "idiom" : "iphone",
  24 + "filename" : "Icon-App-29x29@2x.png",
  25 + "scale" : "2x"
  26 + },
  27 + {
  28 + "size" : "29x29",
  29 + "idiom" : "iphone",
  30 + "filename" : "Icon-App-29x29@3x.png",
  31 + "scale" : "3x"
  32 + },
  33 + {
  34 + "size" : "40x40",
  35 + "idiom" : "iphone",
  36 + "filename" : "Icon-App-40x40@2x.png",
  37 + "scale" : "2x"
  38 + },
  39 + {
  40 + "size" : "40x40",
  41 + "idiom" : "iphone",
  42 + "filename" : "Icon-App-40x40@3x.png",
  43 + "scale" : "3x"
  44 + },
  45 + {
  46 + "size" : "60x60",
  47 + "idiom" : "iphone",
  48 + "filename" : "Icon-App-60x60@2x.png",
  49 + "scale" : "2x"
  50 + },
  51 + {
  52 + "size" : "60x60",
  53 + "idiom" : "iphone",
  54 + "filename" : "Icon-App-60x60@3x.png",
  55 + "scale" : "3x"
  56 + },
  57 + {
  58 + "size" : "20x20",
  59 + "idiom" : "ipad",
  60 + "filename" : "Icon-App-20x20@1x.png",
  61 + "scale" : "1x"
  62 + },
  63 + {
  64 + "size" : "20x20",
  65 + "idiom" : "ipad",
  66 + "filename" : "Icon-App-20x20@2x.png",
  67 + "scale" : "2x"
  68 + },
  69 + {
  70 + "size" : "29x29",
  71 + "idiom" : "ipad",
  72 + "filename" : "Icon-App-29x29@1x.png",
  73 + "scale" : "1x"
  74 + },
  75 + {
  76 + "size" : "29x29",
  77 + "idiom" : "ipad",
  78 + "filename" : "Icon-App-29x29@2x.png",
  79 + "scale" : "2x"
  80 + },
  81 + {
  82 + "size" : "40x40",
  83 + "idiom" : "ipad",
  84 + "filename" : "Icon-App-40x40@1x.png",
  85 + "scale" : "1x"
  86 + },
  87 + {
  88 + "size" : "40x40",
  89 + "idiom" : "ipad",
  90 + "filename" : "Icon-App-40x40@2x.png",
  91 + "scale" : "2x"
  92 + },
  93 + {
  94 + "size" : "76x76",
  95 + "idiom" : "ipad",
  96 + "filename" : "Icon-App-76x76@1x.png",
  97 + "scale" : "1x"
  98 + },
  99 + {
  100 + "size" : "76x76",
  101 + "idiom" : "ipad",
  102 + "filename" : "Icon-App-76x76@2x.png",
  103 + "scale" : "2x"
  104 + },
  105 + {
  106 + "size" : "83.5x83.5",
  107 + "idiom" : "ipad",
  108 + "filename" : "Icon-App-83.5x83.5@2x.png",
  109 + "scale" : "2x"
  110 + },
  111 + {
  112 + "size" : "1024x1024",
  113 + "idiom" : "ios-marketing",
  114 + "filename" : "Icon-App-1024x1024@1x.png",
  115 + "scale" : "1x"
  116 + }
  117 + ],
  118 + "info" : {
  119 + "version" : 1,
  120 + "author" : "xcode"
  121 + }
  122 +}
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "filename" : "LaunchImage.png",
  6 + "scale" : "1x"
  7 + },
  8 + {
  9 + "idiom" : "universal",
  10 + "filename" : "LaunchImage@2x.png",
  11 + "scale" : "2x"
  12 + },
  13 + {
  14 + "idiom" : "universal",
  15 + "filename" : "LaunchImage@3x.png",
  16 + "scale" : "3x"
  17 + }
  18 + ],
  19 + "info" : {
  20 + "version" : 1,
  21 + "author" : "xcode"
  22 + }
  23 +}
  1 +# Launch Screen Assets
  2 +
  3 +You can customize the launch screen with your own desired assets by replacing the image files in this directory.
  4 +
  5 +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
  1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
  3 + <dependencies>
  4 + <deployment identifier="iOS"/>
  5 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
  6 + </dependencies>
  7 + <scenes>
  8 + <!--View Controller-->
  9 + <scene sceneID="EHf-IW-A2E">
  10 + <objects>
  11 + <viewController id="01J-lp-oVM" sceneMemberID="viewController">
  12 + <layoutGuides>
  13 + <viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
  14 + <viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
  15 + </layoutGuides>
  16 + <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
  17 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
  18 + <subviews>
  19 + <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
  20 + </imageView>
  21 + </subviews>
  22 + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  23 + <constraints>
  24 + <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
  25 + <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
  26 + </constraints>
  27 + </view>
  28 + </viewController>
  29 + <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
  30 + </objects>
  31 + <point key="canvasLocation" x="53" y="375"/>
  32 + </scene>
  33 + </scenes>
  34 + <resources>
  35 + <image name="LaunchImage" width="168" height="185"/>
  36 + </resources>
  37 +</document>
  1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
  3 + <dependencies>
  4 + <deployment identifier="iOS"/>
  5 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
  6 + </dependencies>
  7 + <scenes>
  8 + <!--Flutter View Controller-->
  9 + <scene sceneID="tne-QT-ifu">
  10 + <objects>
  11 + <viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
  12 + <layoutGuides>
  13 + <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
  14 + <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
  15 + </layoutGuides>
  16 + <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
  17 + <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
  18 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
  19 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
  20 + </view>
  21 + </viewController>
  22 + <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
  23 + </objects>
  24 + </scene>
  25 + </scenes>
  26 +</document>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>CFBundleDevelopmentRegion</key>
  6 + <string>en</string>
  7 + <key>CFBundleExecutable</key>
  8 + <string>$(EXECUTABLE_NAME)</string>
  9 + <key>CFBundleIdentifier</key>
  10 + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
  11 + <key>CFBundleInfoDictionaryVersion</key>
  12 + <string>6.0</string>
  13 + <key>CFBundleName</key>
  14 + <string>example</string>
  15 + <key>CFBundlePackageType</key>
  16 + <string>APPL</string>
  17 + <key>CFBundleShortVersionString</key>
  18 + <string>$(FLUTTER_BUILD_NAME)</string>
  19 + <key>CFBundleSignature</key>
  20 + <string>????</string>
  21 + <key>CFBundleVersion</key>
  22 + <string>$(FLUTTER_BUILD_NUMBER)</string>
  23 + <key>LSRequiresIPhoneOS</key>
  24 + <true/>
  25 + <key>UILaunchStoryboardName</key>
  26 + <string>LaunchScreen</string>
  27 + <key>UIMainStoryboardFile</key>
  28 + <string>Main</string>
  29 + <key>UISupportedInterfaceOrientations</key>
  30 + <array>
  31 + <string>UIInterfaceOrientationPortrait</string>
  32 + <string>UIInterfaceOrientationLandscapeLeft</string>
  33 + <string>UIInterfaceOrientationLandscapeRight</string>
  34 + </array>
  35 + <key>UISupportedInterfaceOrientations~ipad</key>
  36 + <array>
  37 + <string>UIInterfaceOrientationPortrait</string>
  38 + <string>UIInterfaceOrientationPortraitUpsideDown</string>
  39 + <string>UIInterfaceOrientationLandscapeLeft</string>
  40 + <string>UIInterfaceOrientationLandscapeRight</string>
  41 + </array>
  42 + <key>UIViewControllerBasedStatusBarAppearance</key>
  43 + <false/>
  44 +</dict>
  45 +</plist>
  1 +#import <Flutter/Flutter.h>
  2 +#import <UIKit/UIKit.h>
  3 +#import "AppDelegate.h"
  4 +
  5 +int main(int argc, char* argv[]) {
  6 + @autoreleasepool {
  7 + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
  8 + }
  9 +}
  1 +import 'package:flutter/material.dart';
  2 +import 'package:flutter_screenutil/flutter_screenutil.dart';
  3 +
  4 +void main() => runApp(new MyApp());
  5 +
  6 +class MyApp extends StatelessWidget {
  7 + // This widget is the root of your application.
  8 + @override
  9 + Widget build(BuildContext context) {
  10 + //假如设计稿是按iPhone6的尺寸设计的(iPhone6 750*1334)
  11 + ScreenUtil.instance = new ScreenUtil(width: 750, height: 1334);
  12 +
  13 + return new MaterialApp(
  14 + title: 'Flutter Demo',
  15 + theme: new ThemeData(
  16 + primarySwatch: Colors.blue,
  17 + ),
  18 + home: new MyHomePage(title: 'Flutter Demo Home Page'),
  19 + );
  20 + }
  21 +}
  22 +
  23 +class MyHomePage extends StatefulWidget {
  24 + MyHomePage({Key key, this.title}) : super(key: key);
  25 +
  26 + final String title;
  27 +
  28 + @override
  29 + _MyHomePageState createState() => new _MyHomePageState();
  30 +}
  31 +
  32 +class _MyHomePageState extends State<MyHomePage> {
  33 + @override
  34 + void initState() {
  35 + // TODO: implement initState
  36 + super.initState();
  37 + print('设备的像素密度:${ScreenUtil.pixelRatio}'); //设备的像素密度
  38 + print('设备宽度:${ScreenUtil.screenWidth}'); //设备宽度
  39 + print('设备高度:${ScreenUtil.screenHeight}'); //设备高度
  40 + print('底部安全区距离:${ScreenUtil.bottomBarHeight}'); //底部安全区距离,适用于全面屏下面有按键的
  41 + print('状态栏高度:${ScreenUtil.statusBarHeight}px'); //状态栏高度 刘海屏会更高
  42 +
  43 + print('宽度相对于设计稿放大的倍数:${ScreenUtil().scaleWidth}'); //宽度相对于设计稿放大的倍数
  44 + print('高度相对于设计稿放大的倍数:${ScreenUtil().scaleHeight}'); //高度相对于设计稿放大的倍数
  45 + }
  46 +
  47 + @override
  48 + Widget build(BuildContext context) {
  49 + return new Scaffold(
  50 + appBar: new AppBar(
  51 + title: new Text(widget.title),
  52 + ),
  53 + body: new Center(
  54 + child: Column(
  55 + children: <Widget>[
  56 + Row(
  57 + children: <Widget>[
  58 + Container(
  59 + width: ScreenUtil().setWidth(375),
  60 + height: ScreenUtil().setHeight(200),
  61 + color: Colors.red,
  62 + child: Text(ScreenUtil().setWidth(375).toString()),
  63 + ),
  64 + Container(
  65 + width: ScreenUtil().setWidth(375),
  66 + height: ScreenUtil().setHeight(200),
  67 + color: Colors.blue,
  68 + child: Text(ScreenUtil().setWidth(375).toString()),
  69 + ),
  70 + ],
  71 + ),
  72 + Text(ScreenUtil.screenWidth.toString()),
  73 + Text(ScreenUtil.screenHeight.toString()),
  74 + ],
  75 + ),
  76 + ),
  77 + );
  78 + }
  79 +}
  1 +# Generated by pub
  2 +# See https://www.dartlang.org/tools/pub/glossary#lockfile
  3 +packages:
  4 + analyzer:
  5 + dependency: transitive
  6 + description:
  7 + name: analyzer
  8 + url: "https://pub.flutter-io.cn"
  9 + source: hosted
  10 + version: "0.32.4"
  11 + args:
  12 + dependency: transitive
  13 + description:
  14 + name: args
  15 + url: "https://pub.flutter-io.cn"
  16 + source: hosted
  17 + version: "1.5.0"
  18 + async:
  19 + dependency: transitive
  20 + description:
  21 + name: async
  22 + url: "https://pub.flutter-io.cn"
  23 + source: hosted
  24 + version: "2.0.8"
  25 + boolean_selector:
  26 + dependency: transitive
  27 + description:
  28 + name: boolean_selector
  29 + url: "https://pub.flutter-io.cn"
  30 + source: hosted
  31 + version: "1.0.4"
  32 + charcode:
  33 + dependency: transitive
  34 + description:
  35 + name: charcode
  36 + url: "https://pub.flutter-io.cn"
  37 + source: hosted
  38 + version: "1.1.2"
  39 + collection:
  40 + dependency: transitive
  41 + description:
  42 + name: collection
  43 + url: "https://pub.flutter-io.cn"
  44 + source: hosted
  45 + version: "1.14.11"
  46 + convert:
  47 + dependency: transitive
  48 + description:
  49 + name: convert
  50 + url: "https://pub.flutter-io.cn"
  51 + source: hosted
  52 + version: "2.0.2"
  53 + crypto:
  54 + dependency: transitive
  55 + description:
  56 + name: crypto
  57 + url: "https://pub.flutter-io.cn"
  58 + source: hosted
  59 + version: "2.0.6"
  60 + csslib:
  61 + dependency: transitive
  62 + description:
  63 + name: csslib
  64 + url: "https://pub.flutter-io.cn"
  65 + source: hosted
  66 + version: "0.14.5"
  67 + cupertino_icons:
  68 + dependency: "direct main"
  69 + description:
  70 + name: cupertino_icons
  71 + url: "https://pub.flutter-io.cn"
  72 + source: hosted
  73 + version: "0.1.2"
  74 + flutter:
  75 + dependency: "direct main"
  76 + description: flutter
  77 + source: sdk
  78 + version: "0.0.0"
  79 + flutter_screenutil:
  80 + dependency: "direct main"
  81 + description:
  82 + path: "."
  83 + ref: HEAD
  84 + resolved-ref: "94af1bacf4c9f89461a592b26fac8eceb1df3343"
  85 + url: "git://github.com/lizhuoyuan/flutter_screenUtil"
  86 + source: git
  87 + version: "0.1.0"
  88 + flutter_test:
  89 + dependency: "direct dev"
  90 + description: flutter
  91 + source: sdk
  92 + version: "0.0.0"
  93 + front_end:
  94 + dependency: transitive
  95 + description:
  96 + name: front_end
  97 + url: "https://pub.flutter-io.cn"
  98 + source: hosted
  99 + version: "0.1.4"
  100 + glob:
  101 + dependency: transitive
  102 + description:
  103 + name: glob
  104 + url: "https://pub.flutter-io.cn"
  105 + source: hosted
  106 + version: "1.1.7"
  107 + html:
  108 + dependency: transitive
  109 + description:
  110 + name: html
  111 + url: "https://pub.flutter-io.cn"
  112 + source: hosted
  113 + version: "0.13.3+3"
  114 + http:
  115 + dependency: transitive
  116 + description:
  117 + name: http
  118 + url: "https://pub.flutter-io.cn"
  119 + source: hosted
  120 + version: "0.11.3+17"
  121 + http_multi_server:
  122 + dependency: transitive
  123 + description:
  124 + name: http_multi_server
  125 + url: "https://pub.flutter-io.cn"
  126 + source: hosted
  127 + version: "2.0.5"
  128 + http_parser:
  129 + dependency: transitive
  130 + description:
  131 + name: http_parser
  132 + url: "https://pub.flutter-io.cn"
  133 + source: hosted
  134 + version: "3.1.3"
  135 + io:
  136 + dependency: transitive
  137 + description:
  138 + name: io
  139 + url: "https://pub.flutter-io.cn"
  140 + source: hosted
  141 + version: "0.3.3"
  142 + js:
  143 + dependency: transitive
  144 + description:
  145 + name: js
  146 + url: "https://pub.flutter-io.cn"
  147 + source: hosted
  148 + version: "0.6.1+1"
  149 + json_rpc_2:
  150 + dependency: transitive
  151 + description:
  152 + name: json_rpc_2
  153 + url: "https://pub.flutter-io.cn"
  154 + source: hosted
  155 + version: "2.0.9"
  156 + kernel:
  157 + dependency: transitive
  158 + description:
  159 + name: kernel
  160 + url: "https://pub.flutter-io.cn"
  161 + source: hosted
  162 + version: "0.3.4"
  163 + logging:
  164 + dependency: transitive
  165 + description:
  166 + name: logging
  167 + url: "https://pub.flutter-io.cn"
  168 + source: hosted
  169 + version: "0.11.3+2"
  170 + matcher:
  171 + dependency: transitive
  172 + description:
  173 + name: matcher
  174 + url: "https://pub.flutter-io.cn"
  175 + source: hosted
  176 + version: "0.12.3+1"
  177 + meta:
  178 + dependency: transitive
  179 + description:
  180 + name: meta
  181 + url: "https://pub.flutter-io.cn"
  182 + source: hosted
  183 + version: "1.1.6"
  184 + mime:
  185 + dependency: transitive
  186 + description:
  187 + name: mime
  188 + url: "https://pub.flutter-io.cn"
  189 + source: hosted
  190 + version: "0.9.6+2"
  191 + multi_server_socket:
  192 + dependency: transitive
  193 + description:
  194 + name: multi_server_socket
  195 + url: "https://pub.flutter-io.cn"
  196 + source: hosted
  197 + version: "1.0.2"
  198 + node_preamble:
  199 + dependency: transitive
  200 + description:
  201 + name: node_preamble
  202 + url: "https://pub.flutter-io.cn"
  203 + source: hosted
  204 + version: "1.4.4"
  205 + package_config:
  206 + dependency: transitive
  207 + description:
  208 + name: package_config
  209 + url: "https://pub.flutter-io.cn"
  210 + source: hosted
  211 + version: "1.0.5"
  212 + package_resolver:
  213 + dependency: transitive
  214 + description:
  215 + name: package_resolver
  216 + url: "https://pub.flutter-io.cn"
  217 + source: hosted
  218 + version: "1.0.4"
  219 + path:
  220 + dependency: transitive
  221 + description:
  222 + name: path
  223 + url: "https://pub.flutter-io.cn"
  224 + source: hosted
  225 + version: "1.6.2"
  226 + plugin:
  227 + dependency: transitive
  228 + description:
  229 + name: plugin
  230 + url: "https://pub.flutter-io.cn"
  231 + source: hosted
  232 + version: "0.2.0+3"
  233 + pool:
  234 + dependency: transitive
  235 + description:
  236 + name: pool
  237 + url: "https://pub.flutter-io.cn"
  238 + source: hosted
  239 + version: "1.3.6"
  240 + pub_semver:
  241 + dependency: transitive
  242 + description:
  243 + name: pub_semver
  244 + url: "https://pub.flutter-io.cn"
  245 + source: hosted
  246 + version: "1.4.2"
  247 + quiver:
  248 + dependency: transitive
  249 + description:
  250 + name: quiver
  251 + url: "https://pub.flutter-io.cn"
  252 + source: hosted
  253 + version: "2.0.0+1"
  254 + shelf:
  255 + dependency: transitive
  256 + description:
  257 + name: shelf
  258 + url: "https://pub.flutter-io.cn"
  259 + source: hosted
  260 + version: "0.7.3+3"
  261 + shelf_packages_handler:
  262 + dependency: transitive
  263 + description:
  264 + name: shelf_packages_handler
  265 + url: "https://pub.flutter-io.cn"
  266 + source: hosted
  267 + version: "1.0.4"
  268 + shelf_static:
  269 + dependency: transitive
  270 + description:
  271 + name: shelf_static
  272 + url: "https://pub.flutter-io.cn"
  273 + source: hosted
  274 + version: "0.2.8"
  275 + shelf_web_socket:
  276 + dependency: transitive
  277 + description:
  278 + name: shelf_web_socket
  279 + url: "https://pub.flutter-io.cn"
  280 + source: hosted
  281 + version: "0.2.2+4"
  282 + sky_engine:
  283 + dependency: transitive
  284 + description: flutter
  285 + source: sdk
  286 + version: "0.0.99"
  287 + source_map_stack_trace:
  288 + dependency: transitive
  289 + description:
  290 + name: source_map_stack_trace
  291 + url: "https://pub.flutter-io.cn"
  292 + source: hosted
  293 + version: "1.1.5"
  294 + source_maps:
  295 + dependency: transitive
  296 + description:
  297 + name: source_maps
  298 + url: "https://pub.flutter-io.cn"
  299 + source: hosted
  300 + version: "0.10.7"
  301 + source_span:
  302 + dependency: transitive
  303 + description:
  304 + name: source_span
  305 + url: "https://pub.flutter-io.cn"
  306 + source: hosted
  307 + version: "1.4.1"
  308 + stack_trace:
  309 + dependency: transitive
  310 + description:
  311 + name: stack_trace
  312 + url: "https://pub.flutter-io.cn"
  313 + source: hosted
  314 + version: "1.9.3"
  315 + stream_channel:
  316 + dependency: transitive
  317 + description:
  318 + name: stream_channel
  319 + url: "https://pub.flutter-io.cn"
  320 + source: hosted
  321 + version: "1.6.8"
  322 + string_scanner:
  323 + dependency: transitive
  324 + description:
  325 + name: string_scanner
  326 + url: "https://pub.flutter-io.cn"
  327 + source: hosted
  328 + version: "1.0.4"
  329 + term_glyph:
  330 + dependency: transitive
  331 + description:
  332 + name: term_glyph
  333 + url: "https://pub.flutter-io.cn"
  334 + source: hosted
  335 + version: "1.0.1"
  336 + test:
  337 + dependency: transitive
  338 + description:
  339 + name: test
  340 + url: "https://pub.flutter-io.cn"
  341 + source: hosted
  342 + version: "1.3.0"
  343 + typed_data:
  344 + dependency: transitive
  345 + description:
  346 + name: typed_data
  347 + url: "https://pub.flutter-io.cn"
  348 + source: hosted
  349 + version: "1.1.6"
  350 + utf:
  351 + dependency: transitive
  352 + description:
  353 + name: utf
  354 + url: "https://pub.flutter-io.cn"
  355 + source: hosted
  356 + version: "0.9.0+5"
  357 + vector_math:
  358 + dependency: transitive
  359 + description:
  360 + name: vector_math
  361 + url: "https://pub.flutter-io.cn"
  362 + source: hosted
  363 + version: "2.0.8"
  364 + vm_service_client:
  365 + dependency: transitive
  366 + description:
  367 + name: vm_service_client
  368 + url: "https://pub.flutter-io.cn"
  369 + source: hosted
  370 + version: "0.2.6"
  371 + watcher:
  372 + dependency: transitive
  373 + description:
  374 + name: watcher
  375 + url: "https://pub.flutter-io.cn"
  376 + source: hosted
  377 + version: "0.9.7+10"
  378 + web_socket_channel:
  379 + dependency: transitive
  380 + description:
  381 + name: web_socket_channel
  382 + url: "https://pub.flutter-io.cn"
  383 + source: hosted
  384 + version: "1.0.9"
  385 + yaml:
  386 + dependency: transitive
  387 + description:
  388 + name: yaml
  389 + url: "https://pub.flutter-io.cn"
  390 + source: hosted
  391 + version: "2.1.15"
  392 +sdks:
  393 + dart: ">=2.0.0-dev.68.0 <3.0.0"
  1 +name: example
  2 +description: flutter_screenutil的使用示例
  3 +
  4 +# The following defines the version and build number for your application.
  5 +# A version number is three numbers separated by dots, like 1.2.43
  6 +# followed by an optional build number separated by a +.
  7 +# Both the version and the builder number may be overridden in flutter
  8 +# build by specifying --build-name and --build-number, respectively.
  9 +# Read more about versioning at semver.org.
  10 +version: 1.0.0+1
  11 +
  12 +environment:
  13 + sdk: ">=2.0.0-dev.68.0 <3.0.0"
  14 +
  15 +dependencies:
  16 + flutter:
  17 + sdk: flutter
  18 +
  19 + # The following adds the Cupertino Icons font to your application.
  20 + # Use with the CupertinoIcons class for iOS style icons.
  21 + cupertino_icons: ^0.1.2
  22 + flutter_screenutil:
  23 + git:
  24 + url: git://github.com/lizhuoyuan/flutter_screenUtil
  25 +dev_dependencies:
  26 + flutter_test:
  27 + sdk: flutter
  28 +
  29 +
  30 +# For information on the generic Dart part of this file, see the
  31 +# following page: https://www.dartlang.org/tools/pub/pubspec
  32 +
  33 +# The following section is specific to Flutter.
  34 +flutter:
  35 +
  36 + # The following line ensures that the Material Icons font is
  37 + # included with your application, so that you can use the icons in
  38 + # the material Icons class.
  39 + uses-material-design: true
  40 +
  41 + # To add assets to your application, add an assets section, like this:
  42 + # assets:
  43 + # - images/a_dot_burr.jpeg
  44 + # - images/a_dot_ham.jpeg
  45 +
  46 + # An image asset can refer to one or more resolution-specific "variants", see
  47 + # https://flutter.io/assets-and-images/#resolution-aware.
  48 +
  49 + # For details regarding adding assets from package dependencies, see
  50 + # https://flutter.io/assets-and-images/#from-packages
  51 +
  52 + # To add custom fonts to your application, add a fonts section here,
  53 + # in this "flutter" section. Each entry in this list should have a
  54 + # "family" key with the font family name, and a "fonts" key with a
  55 + # list giving the asset and other descriptors for the font. For
  56 + # example:
  57 + # fonts:
  58 + # - family: Schyler
  59 + # fonts:
  60 + # - asset: fonts/Schyler-Regular.ttf
  61 + # - asset: fonts/Schyler-Italic.ttf
  62 + # style: italic
  63 + # - family: Trajan Pro
  64 + # fonts:
  65 + # - asset: fonts/TrajanPro.ttf
  66 + # - asset: fonts/TrajanPro_Bold.ttf
  67 + # weight: 700
  68 + #
  69 + # For details regarding fonts from package dependencies,
  70 + # see https://flutter.io/custom-fonts/#from-packages
  1 +// This is a basic Flutter widget test.
  2 +// To perform an interaction with a widget in your test, use the WidgetTester utility that Flutter
  3 +// provides. For example, you can send tap and scroll gestures. You can also use WidgetTester to
  4 +// find child widgets in the widget tree, read text, and verify that the values of widget properties
  5 +// are correct.
  6 +
  7 +import 'package:flutter/material.dart';
  8 +import 'package:flutter_test/flutter_test.dart';
  9 +
  10 +import 'package:example/main.dart';
  11 +
  12 +void main() {
  13 + testWidgets('Counter increments smoke test', (WidgetTester tester) async {
  14 + // Build our app and trigger a frame.
  15 + await tester.pumpWidget(new MyApp());
  16 +
  17 + // Verify that our counter starts at 0.
  18 + expect(find.text('0'), findsOneWidget);
  19 + expect(find.text('1'), findsNothing);
  20 +
  21 + // Tap the '+' icon and trigger a frame.
  22 + await tester.tap(find.byIcon(Icons.add));
  23 + await tester.pump();
  24 +
  25 + // Verify that our counter has incremented.
  26 + expect(find.text('0'), findsNothing);
  27 + expect(find.text('1'), findsOneWidget);
  28 + });
  29 +}