栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

颤振-垂直拖动时更改高度

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

颤振-垂直拖动时更改高度

这是如何拖动模态底部工作表的完整示例。

这个想法是由流构建器包装工作表的内容,并在发生拖动时更新流。让我知道您是否需要进一步的解释。

import 'package:flutter/material.dart';import 'dart:async';void main() => runApp(MyApp());class MyApp extends StatelessWidget {  @override  Widget build(BuildContext context) {    return MaterialApp(      home: Scaffold(        appBar: AppBar(          title: Text('My App'),        ),        body: MyWidget(),      ),    );  }}StreamController<double> controller = StreamController.broadcast();class MyWidget extends StatefulWidget{  @override  _MyWidgetState createState() => _MyWidgetState();}class _MyWidgetState extends State<MyWidget>  {  double position;  @override  Widget build(BuildContext context) {    return Container(      child: Center(        child: RaisedButton( child: Text('Show Buttom Sheet'), onPressed: () {   showModalBottomSheet(context: context, builder: (context){     return StreamBuilder(       stream: controller.stream,       builder:(context,snapshot) => GestureDetector(         onVerticalDragUpdate: (DragUpdateDetails details){position = MediaQuery.of(context).size.height- details.globalPosition.dy;print('position dy = ${position}');position.isNegative?Navigator.pop(context):controller.add(position);         },         behavior: HitTestBehavior.translucent,child:Container(         color: Colors.red,         height: snapshot.hasData ? snapshot.data:200.0,         width: double.infinity,         child: Text('Child'),       )),     );   }); }),      ),    );  }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385564.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号