Skip to content

Commit e34512f

Browse files
committed
add article share function,uopdate theme change page,update readme
1 parent e668dfa commit e34512f

File tree

7 files changed

+96
-49
lines changed

7 files changed

+96
-49
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ ios 下载| 暂无下载,可以自行clone项目编译体验
5454
![image](https://github.com/maoqitian/MaoMdPhoto/raw/master/flutter/flutter_wanandroid/flutter-wanandroid%E7%BB%93%E6%9E%84%E5%9B%BE.jpg)
5555
## 项目截图展示
5656

57-
### gif
57+
### gif (debug 模式略显卡顿,可下载release版本体验丝滑顺畅)
5858

5959
<img src="https://github.com/maoqitian/flutter_wanandroid/raw/master/preview/showapp1.gif" height="300" width="170"><img src="https://github.com/maoqitian/flutter_wanandroid/raw/master/preview/showapp2.gif" height="300" width="170"><img src="https://github.com/maoqitian/flutter_wanandroid/raw/master/preview/showapp3.gif" height="300" width="170">
6060

@@ -171,7 +171,9 @@ ios 下载| 暂无下载,可以自行clone项目编译体验
171171
[flutter_staggered_grid_view](https://github.com/letsar/flutter_staggered_grid_view) | 瀑布流
172172
[package_info](https://github.com/flutter/plugins) | 方便获取应用信息
173173
[flutter_html](https://github.com/Sub6Resources/flutter_html) | 加载html 字符串
174-
174+
[expandable](https://github.com/aryzhov/flutter-expandable) | 扩展显示隐藏
175+
[date_format](https://github.com/tejainece/date_format) | 日期转换
176+
[share](https://github.com/flutter/plugins/tree/master/packages/share) | 分享
175177
## 版本更新日志
176178

177179
### v1.0.2 (2020/03/08)

flutter_wanandroid/lib/components/single_theme_color.dart

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -12,47 +12,55 @@ import 'package:flutter_wanandroid/http/data_utils.dart';
1212
import 'package:flutter_wanandroid/utils/tool_utils.dart';
1313
import 'package:provider/provider.dart';
1414

15-
1615
class SingleThemeColor extends StatelessWidget {
17-
1816
final int themeColor;
1917
final String colorName;
2018

21-
const SingleThemeColor({Key key,this.themeColor, this.colorName}):
22-
super(key:key);
19+
const SingleThemeColor({Key key, this.themeColor, this.colorName})
20+
: super(key: key);
2321

2422
@override
2523
Widget build(BuildContext context) {
2624
return InkWell(
27-
onTap: ()async{
28-
ToolUtils.showToast(msg: "改变主题颜色为"+colorName);
29-
Provider.of<ThemeModel>(context,listen: false).changeTheme(this.themeColor,false);
30-
dataUtils.setPrimaryColor(themeColor);
31-
dataUtils.setIsDarkMode(false);
32-
Navigator.pop(context);
25+
onTap: () async {
26+
ToolUtils.showToast(msg: "改变主题颜色为" + colorName);
27+
Provider.of<ThemeModel>(context, listen: false)
28+
.changeTheme(this.themeColor, false);
29+
dataUtils.setPrimaryColor(themeColor);
30+
dataUtils.setIsDarkMode(false);
31+
Navigator.pop(context);
3332
},
34-
child: new Column( // 竖直布局
33+
child: Column(
34+
// 竖直布局
3535
children: <Widget>[
36-
Container(
37-
width: 50,
38-
height: 50,
39-
margin: const EdgeInsets.all(5.0),
40-
decoration: BoxDecoration( //圆形背景装饰
41-
borderRadius:BorderRadius.all(
42-
Radius.circular(50)
43-
),
44-
color: Color(this.themeColor)
45-
),
46-
),
47-
Text(
48-
colorName,
49-
style: TextStyle(
50-
color: Color(this.themeColor),
51-
fontSize: 14.0),
52-
),
36+
Stack(
37+
alignment: Alignment.center,
38+
children: <Widget>[
39+
Container(
40+
width: 50,
41+
height: 50,
42+
margin: const EdgeInsets.all(5.0),
43+
decoration: BoxDecoration(
44+
//圆形背景装饰
45+
borderRadius: BorderRadius.all(Radius.circular(50)),
46+
color: Color(this.themeColor)),
47+
),
48+
//标识选中的主题颜色
49+
Offstage(
50+
offstage: dataUtils.getIsDarkMode() || dataUtils.getPrimaryColor() != themeColor,
51+
child: Icon(
52+
Icons.done,
53+
color: Colors.white,
54+
),
55+
),
56+
],
57+
),
58+
Text(
59+
colorName,
60+
style: TextStyle(color: Color(this.themeColor), fontSize: 14.0),
61+
),
5362
],
5463
),
5564
);
5665
}
5766
}
58-

flutter_wanandroid/lib/views/setting/about_page.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import 'package:flutter_wanandroid/res/colours.dart';
1414
import 'package:flutter_wanandroid/routers/routes.dart';
1515
import 'package:flutter_wanandroid/utils/tool_utils.dart';
1616
import 'package:package_info/package_info.dart';
17+
import 'package:share/share.dart';
1718

1819
class AboutPage extends StatefulWidget {
1920
@override
@@ -44,6 +45,11 @@ class _AboutPageState extends State<AboutPage> {
4445
return Scaffold(
4546
backgroundColor: dataUtils.getIsDarkMode() ? Colours.dark_unselected_item_color : Color(0xFFEEEEEE),
4647
appBar: AppBar(
48+
actions: <Widget>[
49+
IconButton(icon: Icon(Icons.share,color: Colors.white,),onPressed: (){
50+
Share.share("https://github.com/maoqitian/flutter_wanandroid");
51+
},),
52+
],
4753
leading: new IconButton(
4854
icon: new Icon(
4955
Icons.arrow_back,

flutter_wanandroid/lib/views/web_page/controller/web_page_menu.dart

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ import 'package:flutter/cupertino.dart';
55
/// User: maoqitian
66
/// Date: 2020/1/10 0010
77
/// email: maoqitian068@163.com
8-
/// des:
8+
/// des: WebPageMenu
99
import 'package:flutter/material.dart';
10-
import 'package:flutter_wanandroid/utils/tool_utils.dart';
10+
import 'package:flutter_wanandroid/model/route_page_data.dart';
11+
import 'package:share/share.dart';
1112
import 'package:webview_flutter/webview_flutter.dart';
1213

1314
const String kNavigationExamplePage = '''
@@ -27,16 +28,18 @@ The navigation delegate is set to block navigation to the youtube website.
2728

2829
enum MenuOptions {
2930
reloadPage,
30-
showUserAgent,
31+
share,
32+
/*showUserAgent,
3133
listCookies,
3234
clearCookies,
3335
addToCache,
3436
listCache,
35-
clearCache,
37+
clearCache,*/
3638
}
3739

3840
class WebPageMenu extends StatelessWidget {
39-
WebPageMenu(this.controller);
41+
final RoutePageData routePageData;
42+
WebPageMenu(this.controller,this.routePageData);
4043

4144
final Future<WebViewController> controller;
4245
final CookieManager cookieManager = CookieManager();
@@ -50,10 +53,15 @@ class WebPageMenu extends StatelessWidget {
5053
return PopupMenuButton<MenuOptions>(
5154
onSelected: (MenuOptions value) {
5255
switch (value) {
56+
//webview 刷新
5357
case MenuOptions.reloadPage:
5458
_onReloadPage(controller.data, context);
5559
break;
56-
case MenuOptions.showUserAgent:
60+
// share 分享
61+
case MenuOptions.share:
62+
_onSharePage(controller.data, context);
63+
break;
64+
/*case MenuOptions.showUserAgent:
5765
_onShowUserAgent(controller.data, context);
5866
break;
5967
case MenuOptions.listCookies:
@@ -70,23 +78,21 @@ class WebPageMenu extends StatelessWidget {
7078
break;
7179
case MenuOptions.clearCache:
7280
_onClearCache(controller.data, context);
73-
break;
81+
break;*/
7482
}
7583
},
7684
itemBuilder: (BuildContext context) => <PopupMenuItem<MenuOptions>>[
7785
PopupMenuItem<MenuOptions>(
7886
value: MenuOptions.reloadPage,
7987
enabled: controller.hasData,
80-
child: Row(
81-
crossAxisAlignment: CrossAxisAlignment.center,
82-
mainAxisAlignment: MainAxisAlignment.center,
83-
children: <Widget>[
84-
Icon(Icons.replay,color: Colors.grey,size: 25,),
85-
SizedBox(width: 10.0),
86-
Text('刷新页面')
87-
],),
88+
child: buildMenuItem("刷新页面",Icons.replay),
8889
),
8990
PopupMenuItem<MenuOptions>(
91+
value: MenuOptions.share,
92+
enabled: controller.hasData,
93+
child: buildMenuItem("分享文章",Icons.share),
94+
),
95+
/*PopupMenuItem<MenuOptions>(
9096
value: MenuOptions.showUserAgent,
9197
child: const Text('Show user agent'),
9298
enabled: controller.hasData,
@@ -110,7 +116,7 @@ class WebPageMenu extends StatelessWidget {
110116
const PopupMenuItem<MenuOptions>(
111117
value: MenuOptions.clearCache,
112118
child: Text('Clear cache'),
113-
),
119+
),*/
114120
],
115121
);
116122
},
@@ -197,4 +203,20 @@ class WebPageMenu extends StatelessWidget {
197203
void _onReloadPage(WebViewController controller, BuildContext context) async{
198204
controller.reload();
199205
}
206+
207+
//页面刷新
208+
void _onSharePage(WebViewController controller, BuildContext context) async{
209+
Share.share(routePageData.url);
210+
}
211+
212+
Widget buildMenuItem(String menuName,IconData iconData) {
213+
return Row(
214+
crossAxisAlignment: CrossAxisAlignment.center,
215+
mainAxisAlignment: MainAxisAlignment.center,
216+
children: <Widget>[
217+
Icon(iconData,color: Colors.grey,size: 25,),
218+
SizedBox(width: 10.0),
219+
Text(menuName)
220+
],);
221+
}
200222
}

flutter_wanandroid/lib/views/web_page/web_view_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class _WebViewPageState extends State<WebViewPage> {
6565
),
6666
actions: <Widget>[
6767
NavigationControls(_controller.future,routePageData),
68-
WebPageMenu(_controller.future)
68+
WebPageMenu(_controller.future,routePageData)
6969
],
7070
),
7171
body: Stack(children: <Widget>[

flutter_wanandroid/pubspec.lock

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,6 +485,13 @@ packages:
485485
url: "https://pub.flutter-io.cn"
486486
source: hosted
487487
version: "2.0.5"
488+
share:
489+
dependency: "direct main"
490+
description:
491+
name: share
492+
url: "https://pub.flutter-io.cn"
493+
source: hosted
494+
version: "0.6.3+6"
488495
shared_preferences:
489496
dependency: "direct main"
490497
description:

flutter_wanandroid/pubspec.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ description: A new Flutter application for wanandroid.
1111
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
1212
# Read more about iOS versioning at
1313
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
14-
version: 1.0.2+3 # 1.0.1 代表版本名 2 代表版本代号
14+
version: 1.0.3+4 # 1.0.1 代表版本名 2 代表版本代号
1515

1616
environment:
1717
sdk: ">=2.1.0 <3.0.0"
@@ -58,6 +58,8 @@ dependencies:
5858
expandable: ^4.1.2
5959
# data format
6060
date_format: ^1.0.8
61+
# share
62+
share: ^0.6.3+6
6163

6264
dev_dependencies:
6365
flutter_test:

0 commit comments

Comments
 (0)