Merge branch 'develop' into dev/yisheng

* develop:
  feat(update: icons for  widget):
  feat(add CupertinoTimerPickerDemo):
This commit is contained in:
ryan
2019-01-24 20:15:27 +08:00
5 changed files with 126 additions and 1 deletions

View File

@ -155,5 +155,14 @@ class WidgetName2Icon {
"CupertinoPageScaffold":Icons.pages,
"CupertinoPicker":Icons.add_alarm,
"CupertinoPopupSurface":Icons.center_focus_weak,
"CupertinoScrollbar": Icons.fullscreen,
"CupertinoSlider": Icons.switch_camera,
"CupertinoSegmentedControl": Icons.radio_button_checked,
"CupertinoSliverNavigationBar": Icons.subtitles,
"CupertinoSwitch": Icons.check_box,
"CupertinoTabBar": Icons.tab,
"CupertinoTabScaffold": Icons.tab,
"CupertinoTabView": Icons.table_chart,
"CupertinoTimerPicker": Icons.timer
};
}

View File

@ -1,6 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_go/common/widget_demo.dart';
import 'package:flutter_go/widgets/themes/Material/MaterialColor/demo.dart';
import 'demo.dart';
const Text0 = '''
### **简介**

View File

@ -0,0 +1,61 @@
/**
* Created with Android Studio.
* User: 三帆
* Date: 20/01/2019
* Time: 22:28
* email: sanfan.hx@alibaba-inc.com
* tartget: CupertinoTabBar
*/
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class CupertinoTimerPickerDemo extends StatefulWidget {
_Demo createState() => _Demo();
}
class _Demo extends State<CupertinoTimerPickerDemo> {
int index = 0;
Duration timer = new Duration(minutes: 50);
Widget _buildBottomPicker(Widget picker) {
return Container(
height: 300,
padding: const EdgeInsets.only(top: 6.0),
color: CupertinoColors.white,
child: DefaultTextStyle(
style: const TextStyle(
color: CupertinoColors.black,
fontSize: 22.0,
),
child: GestureDetector(
// Blocks taps from propagating to the modal sheet and popping.
onTap: () {},
child: SafeArea(
top: false,
child: picker,
),
),
),
);
}
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
showCupertinoModalPopup<void>(
context: context,
builder: (BuildContext context) {
return _buildBottomPicker(CupertinoTimerPicker(
initialTimerDuration: timer,
minuteInterval: 5,
onTimerDurationChanged: (Duration newTimer) {
setState(() => timer = newTimer);
},
));
},
);
},
child: Text("点我弹出"),
);
}
}

View File

@ -0,0 +1,50 @@
import 'package:flutter/material.dart';
import 'package:flutter_go/common/widget_demo.dart';
import 'package:flutter_go/widgets/themes/Material/MaterialColor/demo.dart';
import 'demo.dart';
const Text0 = '''
### **简介**
> CupertinoTimerPicker 是一个ios风格下的时间选择组件
此选择器显示带有小时、分钟和秒的时间选择器。时间范围为0-23小时, 0-59分钟. 0-59秒.
### **基本用法**
### **基本实例**
属性说明:
- initialTimerDuration 初始化时间点
- minuteInterval 分钟间隔, 我们设置为5, 则分钟选项为0,5,10,15...
- mode 显示的格式, 我们可以控制该属性, 仅显示小时与分钟, 分钟与秒等, 具体查看 **CupertinoTimerPickerMode**
- onTimerDurationChanged 时间改变后的回调
- secondInterval 秒数间隔, 与minuteInterval同
''';
class Demo extends StatefulWidget {
static const String routeName =
'/element/themes/Cupertino/CupertinoTimerPicker';
@override
State<StatefulWidget> createState() => _DemoState();
}
class _DemoState extends State<Demo> {
@override
Widget build(BuildContext context) {
return WidgetDemo(
title: 'CupertinoTimerPicker',
codeUrl: '/themes/Cupertino/CupertinoTimerPicker/demo.dart',
docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoTimerPicker-class.html',
contentList: [
Text0,
CupertinoTimerPickerDemo()
],
);
}
}

View File

@ -21,6 +21,7 @@ import './CupertinoSwitch/index.dart' as CupertinoSwitch;
import './CupertinoTabBar/index.dart' as CupertinoTabBar;
import './CupertinoTabScaffold/index.dart' as CupertinoTabScaffold;
import './CupertinoTabView/index.dart' as CupertinoTabView;
import './CupertinoTimerPicker/index.dart' as CupertinoTimerPicker;
List<WidgetPoint> widgetPoints = [
WidgetPoint(
@ -113,5 +114,10 @@ List<WidgetPoint> widgetPoints = [
routerName: CupertinoTabView.Demo.routeName,
buildRouter: (BuildContext context) => CupertinoTabView.Demo(),
),
WidgetPoint(
name: 'CupertinoTimerPicker',
routerName: CupertinoTimerPicker.Demo.routeName,
buildRouter: (BuildContext context) => CupertinoTimerPicker.Demo(),
),
];