mirror of
https://github.com/alibaba/flutter-go.git
synced 2025-07-03 06:00:54 +08:00
Merge branch 'develop' into dev/yisheng
* develop: feat(update: icons for widget): feat(add CupertinoTimerPickerDemo):
This commit is contained in:
@ -155,5 +155,14 @@ class WidgetName2Icon {
|
|||||||
"CupertinoPageScaffold":Icons.pages,
|
"CupertinoPageScaffold":Icons.pages,
|
||||||
"CupertinoPicker":Icons.add_alarm,
|
"CupertinoPicker":Icons.add_alarm,
|
||||||
"CupertinoPopupSurface":Icons.center_focus_weak,
|
"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
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_go/common/widget_demo.dart';
|
import 'package:flutter_go/common/widget_demo.dart';
|
||||||
import 'package:flutter_go/widgets/themes/Material/MaterialColor/demo.dart';
|
|
||||||
import 'demo.dart';
|
import 'demo.dart';
|
||||||
const Text0 = '''
|
const Text0 = '''
|
||||||
### **简介**
|
### **简介**
|
||||||
|
61
lib/widgets/themes/Cupertino/CupertinoTimerPicker/demo.dart
Normal file
61
lib/widgets/themes/Cupertino/CupertinoTimerPicker/demo.dart
Normal 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("点我弹出"),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
50
lib/widgets/themes/Cupertino/CupertinoTimerPicker/index.dart
Normal file
50
lib/widgets/themes/Cupertino/CupertinoTimerPicker/index.dart
Normal 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()
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -21,6 +21,7 @@ import './CupertinoSwitch/index.dart' as CupertinoSwitch;
|
|||||||
import './CupertinoTabBar/index.dart' as CupertinoTabBar;
|
import './CupertinoTabBar/index.dart' as CupertinoTabBar;
|
||||||
import './CupertinoTabScaffold/index.dart' as CupertinoTabScaffold;
|
import './CupertinoTabScaffold/index.dart' as CupertinoTabScaffold;
|
||||||
import './CupertinoTabView/index.dart' as CupertinoTabView;
|
import './CupertinoTabView/index.dart' as CupertinoTabView;
|
||||||
|
import './CupertinoTimerPicker/index.dart' as CupertinoTimerPicker;
|
||||||
|
|
||||||
List<WidgetPoint> widgetPoints = [
|
List<WidgetPoint> widgetPoints = [
|
||||||
WidgetPoint(
|
WidgetPoint(
|
||||||
@ -113,5 +114,10 @@ List<WidgetPoint> widgetPoints = [
|
|||||||
routerName: CupertinoTabView.Demo.routeName,
|
routerName: CupertinoTabView.Demo.routeName,
|
||||||
buildRouter: (BuildContext context) => CupertinoTabView.Demo(),
|
buildRouter: (BuildContext context) => CupertinoTabView.Demo(),
|
||||||
),
|
),
|
||||||
|
WidgetPoint(
|
||||||
|
name: 'CupertinoTimerPicker',
|
||||||
|
routerName: CupertinoTimerPicker.Demo.routeName,
|
||||||
|
buildRouter: (BuildContext context) => CupertinoTimerPicker.Demo(),
|
||||||
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user