Skip to content

Commit

Permalink
颜色主题 异步更新UI
Browse files Browse the repository at this point in the history
颜色主题 异步更新UI
  • Loading branch information
shiqizhenyes committed Jun 14, 2020
1 parent d7c4cba commit bd965e4
Show file tree
Hide file tree
Showing 27 changed files with 191 additions and 70 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# flutternice
# Flutter Nice

A new Flutter application.

Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ android {
// }
// }

compileSdkVersion 28
compileSdkVersion 29

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
Expand All @@ -54,7 +54,7 @@ android {

defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "me.nice.flutternice"
applicationId "me.nice.flutter"
minSdkVersion 16
targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
Expand Down
4 changes: 2 additions & 2 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
FlutterApplication and put your custom class here. -->
<application
android:name="io.flutter.app.FlutterApplication"
android:label="flutternice"
android:label="FlutterNice"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:name="me.nice.flutter.MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package me.nice.flutternice
package me.nice.flutter

import android.os.Looper
import androidx.annotation.NonNull
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
Expand Down
6 changes: 3 additions & 3 deletions ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = me.nice.flutternice;
PRODUCT_BUNDLE_IDENTIFIER = me.nice.flutter;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
Expand Down Expand Up @@ -440,7 +440,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = me.nice.flutternice;
PRODUCT_BUNDLE_IDENTIFIER = me.nice.flutter;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
Expand Down Expand Up @@ -469,7 +469,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = me.nice.flutternice;
PRODUCT_BUNDLE_IDENTIFIER = me.nice.flutter;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
Expand Down
4 changes: 2 additions & 2 deletions ios/Runner/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>flutternice</string>
<string>FlutterNice</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<string>1</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key>
Expand Down
15 changes: 8 additions & 7 deletions lib/ChapterFive.dart
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@

import 'package:flutter/material.dart';
import 'package:flutternice/ClipDemo.dart';
import 'package:flutternice/ContainerDemo.dart';
import 'package:flutternice/ContrainedBoxDemo.dart';
import 'package:flutternice/DecoratedBoxDemo.dart';
import 'package:flutternice/PaddingDemo.dart';
import 'package:flutternice/ScaffoldDemo.dart';
import 'package:flutternice/TransformDemo.dart';

import 'ClipDemo.dart';
import 'ContainerDemo.dart';
import 'ContrainedBoxDemo.dart';
import 'DecoratedBoxDemo.dart';
import 'PaddingDemo.dart';
import 'ScaffoldDemo.dart';
import 'TransformDemo.dart';

/// 第五章容器类组件
class ChapterFive extends StatelessWidget {
Expand Down
15 changes: 8 additions & 7 deletions lib/ChapterFour.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@

import 'package:flutter/material.dart';
import 'package:flutternice/AlignDemo.dart';
import 'package:flutternice/FlexDemo.dart';
import 'package:flutternice/RowColumnDemo.dart';
import 'package:flutternice/StackPpositionedDemo.dart';
import 'package:flutternice/WrapFlowDemo.dart';

import 'AlignDemo.dart';
import 'FlexDemo.dart';
import 'RowColumnDemo.dart';
import 'StackPpositionedDemo.dart';
import 'WrapFlowDemo.dart';

///第四章 布局组件
class ChapterFour extends StatelessWidget {
Expand Down Expand Up @@ -35,7 +36,7 @@ class ChapterFour extends StatelessWidget {
}));
}

_goToAlgnDemo() {
_goToAlignDemo() {
Navigator.push(context, MaterialPageRoute(builder: (context) {
return AlignDemo();
}));
Expand Down Expand Up @@ -80,7 +81,7 @@ class ChapterFour extends StatelessWidget {
Row(
children: <Widget>[
FlatButton(
onPressed: _goToAlgnDemo,
onPressed: _goToAlignDemo,
child: Text("AlignDemo")
),
],
Expand Down
23 changes: 18 additions & 5 deletions lib/ChapterSeven.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
import 'package:flutter/material.dart';
import 'package:flutternice/seven/inhertiedWidget/InheritedWidgetDemo.dart';
import 'package:flutternice/seven/provider/ProviderDemo.dart';
import 'package:flutternice/seven/theme/ThemeAndColorDemo.dart';
import 'package:flutternice/seven/willScope/WillPopScopeDemo.dart';
import 'package:nice/seven/future/future_demo.dart';
import 'package:nice/seven/stream/stream_demo.dart';

import 'seven/inherited/InheritedWidgetDemo.dart';
import 'seven/provider/ProviderDemo.dart';
import 'seven/theme/ThemeAndColorDemo.dart';
import 'seven/willScope/WillPopScopeDemo.dart';

/// 第七章 功能性组件
class ChapterSeven extends StatelessWidget {
Expand Down Expand Up @@ -39,7 +42,17 @@ class ChapterSeven extends StatelessWidget {
Navigator.push(context, MaterialPageRoute(builder: (context) {
return ThemeAndColorDemo();
}));
}, child: Text("ThemeAndColorDemo"))
}, child: Text("ThemeAndColorDemo")),
FlatButton(onPressed: () {
Navigator.push(context, MaterialPageRoute(builder: (context) {
return FutureDemo();
}));
}, child: Text("FutureDemo")),
FlatButton(onPressed: () {
Navigator.push(context, MaterialPageRoute(builder: (context) {
return StreamDemo();
}));
}, child: Text("StreamDemo"))
],
)
],
Expand Down
13 changes: 7 additions & 6 deletions lib/ChapterSix.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import 'package:flutter/material.dart';
import 'package:flutternice/CustomScrollViewTestRoute.dart';
import 'package:flutternice/GridViewDemo.dart';
import 'package:flutternice/ListViewDemo.dart';
import 'package:flutternice/ScrollControllerDemo.dart';
import 'package:flutternice/ScrollProgressDemo.dart';
import 'package:flutternice/SingleChildScrollViewDemo.dart';

import 'CustomScrollViewTestRoute.dart';
import 'GridViewDemo.dart';
import 'ListViewDemo.dart';
import 'ScrollControllerDemo.dart';
import 'ScrollProgressDemo.dart';
import 'SingleChildScrollViewDemo.dart';

///第六章可滚动组件
class ChapterSix extends StatelessWidget {
Expand Down
15 changes: 8 additions & 7 deletions lib/ChapterThree.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import 'package:flutter/material.dart';
import 'package:flutternice/ButtonDemo.dart';
import 'package:flutternice/ImageIconDemo.dart';
import 'package:flutternice/ProgressIndicatorWidget.dart';
import 'package:flutternice/StateManager.dart';
import 'package:flutternice/SwitchCheckBoxDemo.dart';
import 'package:flutternice/TextFormFieldDemo.dart';
import 'package:flutternice/TextStyleDemo.dart';

import 'ButtonDemo.dart';
import 'ImageIconDemo.dart';
import 'ProgressIndicatorWidget.dart';
import 'StateManager.dart';
import 'SwitchCheckBoxDemo.dart';
import 'TextFormFieldDemo.dart';
import 'TextStyleDemo.dart';

///第三章 基础组件
class ChapterThree extends StatelessWidget {
Expand Down
5 changes: 3 additions & 2 deletions lib/ChapterTwo.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@

import 'package:flutter/material.dart';
import 'package:flutternice/AssetsDemo.dart';
import 'package:flutternice/RouterDemo.dart';

import 'AssetsDemo.dart';
import 'RouterDemo.dart';

///第二章 第一个flutter app
Expand Down
3 changes: 2 additions & 1 deletion lib/GridViewDemo.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

import 'package:flutter/material.dart';
import 'package:flutternice/InfiniteGridView.dart';

import 'InfiniteGridView.dart';

/// 网格控件
class GridViewDemo extends StatelessWidget {
Expand Down
File renamed without changes.
11 changes: 6 additions & 5 deletions lib/ListViewDemo.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import 'package:flutter/material.dart';
import 'package:flutternice/InfiniteListView.dart';
import 'package:flutternice/ListPinTitile.dart';
import 'package:flutternice/ListViewBuilderDemo.dart';
import 'package:flutternice/ListViewDefaultDemo.dart';
import 'package:flutternice/ListViewSeparatedDemo.dart';

import 'InfiniteListView.dart';
import 'ListPinTitle.dart';
import 'ListViewBuilderDemo.dart';
import 'ListViewDefaultDemo.dart';
import 'ListViewSeparatedDemo.dart';

class ListViewDemo extends StatelessWidget {

Expand Down
3 changes: 2 additions & 1 deletion lib/ParentCWidget.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

import 'package:flutter/material.dart';
import 'package:flutternice/TapBoxC.dart';

import 'TapBoxC.dart';

class ParentCWidget extends StatefulWidget {

Expand Down
3 changes: 2 additions & 1 deletion lib/ParentWidget.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

import 'package:flutter/material.dart';
import 'package:flutternice/TapBoxB.dart';

import 'TapBoxB.dart';

class ParentWidget extends StatefulWidget {

Expand Down
3 changes: 2 additions & 1 deletion lib/RowColumnDemo.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

import 'package:flutter/material.dart';
import 'package:flutternice/RowColumnNestedDemo.dart';

import 'RowColumnNestedDemo.dart';

class RowColumnDemo extends StatelessWidget {

Expand Down
3 changes: 2 additions & 1 deletion lib/ScaffoldDemo.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutternice/MyDrawer.dart';

import 'MyDrawer.dart';


// BottomNavigationBar(
Expand Down
7 changes: 4 additions & 3 deletions lib/StateManager.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutternice/ParentCWidget.dart';
import 'package:flutternice/ParentWidget.dart';
import 'package:flutternice/TapBoxA.dart';

import 'ParentCWidget.dart';
import 'ParentWidget.dart';
import 'TapBoxA.dart';

class StateManager extends StatelessWidget {

Expand Down
16 changes: 8 additions & 8 deletions lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@

import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:flutternice/ChapterFive.dart';
import 'package:flutternice/ChapterFour.dart';
import 'package:flutternice/ChapterOne.dart';
import 'package:flutternice/ChapterSeven.dart';
import 'package:flutternice/ChapterSix.dart';
import 'package:flutternice/ChapterThree.dart';
import 'package:flutternice/ChapterTwo.dart';

import 'ChapterFive.dart';
import 'ChapterFour.dart';
import 'ChapterOne.dart';
import 'ChapterSeven.dart';
import 'ChapterSix.dart';
import 'ChapterThree.dart';
import 'ChapterTwo.dart';

void main() {
runApp(MyApp());
Expand All @@ -34,7 +35,6 @@ class MyApp extends StatelessWidget {
},
);
}

}


Expand Down
44 changes: 44 additions & 0 deletions lib/seven/future/future_demo.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import 'package:flutter/material.dart';

/// 异步更新UI
///
///
class FutureDemo extends StatefulWidget {
@override
State<StatefulWidget> createState() => _FutureState();
}

class _FutureState extends State<FutureDemo> {

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("FutureDemo"),
),
body: Container(
child: Center(
child: FutureBuilder(
builder: (context, snapShot) {
if (snapShot.connectionState == ConnectionState.done) {
if (snapShot.hasError) {
return Text("error: ${snapShot.error}");
} else {
return Text("response: ${snapShot.data}");
}
} else {
return CircularProgressIndicator();
}
},
future: mocNetworkData(),
),
),
),
);
}

Future<String> mocNetworkData() async {
return Future.delayed(Duration(milliseconds: 2000), () => "data from server");
}

}
File renamed without changes.
3 changes: 1 addition & 2 deletions lib/seven/provider/ChangeNotifierProvider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class ChangeNotifierProvider<T extends ChangeNotifier> extends StatefulWidget {
final Widget child;
final T data;

static T of<T>(BuildContext context) {
static T of<T extends ChangeNotifier>(BuildContext context) {
// final type = _typeOf<InheritedProvider<T>>();
final provider = context.dependOnInheritedWidgetOfExactType<InheritedProvider<T>>();
print("zack");
Expand Down Expand Up @@ -54,7 +54,6 @@ class _ChangeNotifierProviderState<T extends ChangeNotifier> extends State<Chang
super.dispose();
}


@override
Widget build(BuildContext context) {
return InheritedProvider<T>(
Expand Down
Loading

0 comments on commit bd965e4

Please sign in to comment.