Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 可滚动小部件内的颤振页面视图_Flutter - Fatal编程技术网

Flutter 可滚动小部件内的颤振页面视图

Flutter 可滚动小部件内的颤振页面视图,flutter,Flutter,在我的应用程序中,我有一个页面视图,其中包含一些页面 正如你们所见,我错过了更多的屏幕尺寸 导入“包装:颤振/材料.省道”; main(){ runApp(材料应用程序)( 主题:主题数据( 原色样本:颜色。靛蓝, ), 主页:App(), )); } 类应用程序扩展StatefulWidget{ @凌驾 State createState()=>_AppState(); } 类_AppState扩展了状态{ @凌驾 小部件构建(构建上下文){ 返回脚手架( 正文:自定义滚动视图( 条子:[

在我的应用程序中,我有一个页面视图,其中包含一些页面

正如你们所见,我错过了更多的屏幕尺寸

导入“包装:颤振/材料.省道”;
main(){
runApp(材料应用程序)(
主题:主题数据(
原色样本:颜色。靛蓝,
),
主页:App(),
));
}
类应用程序扩展StatefulWidget{
@凌驾
State createState()=>_AppState();
}
类_AppState扩展了状态{
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:自定义滚动视图(
条子:[
滑动双轴适配器(
子:列(
儿童:[
容器(
高度:MediaQuery.of(context).size.height,
子:列(
儿童:[
填充物(
填充:仅限边缘设置(顶部:50.0),
子:文本(
“测试文本”,
textAlign:textAlign.center,
样式:TextStyle(颜色:Colors.black),
),
),
扩大(
弹性:1,
子:页面视图(
相反:是的,
onPageChanged:(i){},
儿童:[
约束盒(
约束:const-BoxConstraints.expand(),
子:容器(
边距:LTRB(8.0,8.0,8.0,12.0)的边距集,
子:容器(
颜色:颜色。靛蓝[400],
子:列(
儿童:[
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
填充(填充:边集。对称(垂直:30.0),子级:文本('33333')),
],
),
),
),
),
约束盒(
约束:const-BoxConstraints.expand(),
子:容器(
边距:LTRB(8.0,8.0,8.0,12.0)的边距集,
子:容器(
颜色:颜色。靛蓝[400],
子:列(
儿童:[
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
Padding(Padding:EdgeInsets.symmetric(vertical:30.0),child:Text('11111')),
import 'package:flutter/material.dart';

main() {
  runApp(MaterialApp(
    theme: ThemeData(
      primarySwatch: Colors.indigo,
    ),
    home: App(),
  ));
}

class App extends StatefulWidget {
  @override
  State<App> createState() => _AppState();
}

class _AppState extends State<App> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: CustomScrollView(
        slivers: <Widget>[
          SliverToBoxAdapter(
            child: Column(
              children: <Widget>[
                Container(
                  height: MediaQuery.of(context).size.height,
                  child: Column(
                    children: <Widget>[
                      Padding(
                        padding: EdgeInsets.only(top: 50.0),
                        child: Text(
                          'test text',
                          textAlign: TextAlign.center,
                          style: TextStyle(color: Colors.black),
                        ),
                      ),
                      Expanded(
                        flex: 1,
                        child: PageView(
                          reverse: true,
                          onPageChanged: (i) {},
                          children: <Widget>[
                            ConstrainedBox(
                              constraints: const BoxConstraints.expand(),
                              child: Container(
                                margin: EdgeInsets.fromLTRB(8.0, 8.0, 8.0, 12.0),
                                child: Container(
                                  color: Colors.indigo[400],
                                  child: Column(
                                    children: <Widget>[
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('33333333333333')),
                                    ],
                                  ),
                                ),
                              ),
                            ),
                            ConstrainedBox(
                              constraints: const BoxConstraints.expand(),
                              child: Container(
                                margin: EdgeInsets.fromLTRB(8.0, 8.0, 8.0, 12.0),
                                child: Container(
                                  color: Colors.indigo[400],
                                  child: Column(
                                    children: <Widget>[
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('33333333333333')),
                                    ],
                                  ),
                                ),
                              ),
                            ),
                            ConstrainedBox(
                              constraints: const BoxConstraints.expand(),
                              child: Container(
                                margin: EdgeInsets.fromLTRB(8.0, 8.0, 8.0, 12.0),
                                child: Container(
                                  color: Colors.indigo[400],
                                  child: Column(
                                    children: <Widget>[
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('11111111111111')),
                                      Padding(padding: EdgeInsets.symmetric(vertical: 30.0), child: Text('33333333333333')),
                                    ],
                                  ),
                                ),
                              ),
                            ),
                          ],
                        ),
                      ),
                    ],
                  ),
                ),
              ],
            ),
          ),
        ],
      ),
    );
  }
}
class FragmentProfile extends StatefulWidget {
  .......

  @override
  State<FragmentProfile> createState() => _FragmentPage();
}

class _FragmentPage extends State<FragmentProfile> {
 ....

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return ....
  }
}

class ProfilePage extends StatefulWidget {
  @override
  State<ProfilePage> createState() => _ProfilePageState();
}

class _ProfilePageState extends State<ProfilePage> {
  .....
  ScrollController _scrollController;
  ....

  @override
  void initState() {
    super.initState();
    .....
    _scrollController = ScrollController();

    KeyboardVisibilityNotification().addNewListener(
      onChange: (bool visible) {
        if(visible){
          final offset = _scrollController.offset;
          print("current offset = ${offset}");
          _scrollController.animateTo(
              offset+50.0,
              duration: Duration(milliseconds: 100),
              curve: Curves.easeIn);
        }else{
          final offset = _scrollController.offset;
          print("current offset = ${offset}");
          _scrollController.animateTo(
              offset-50.0,
              duration: Duration(milliseconds: 100),
              curve: Curves.easeIn);

        }
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        backgroundColor: Colors.transparent,

        body: Directionality(
          textDirection: TextDirection.rtl,
          child: Container(
            width: MediaQuery.of(context).size.width,
            height: MediaQuery.of(context).size.height - 130,
            child: NestedScrollView(
              controller: _scrollController,

                headerSliverBuilder:(BuildContext context, bool innerBoxIsScrolled){
                  return <Widget>[
                    SliverAppBar(
                      title: Component1(),
                      ),
                      centerTitle: true,
                      bottom: _buildMenuBar(context),
                      //pinned: true,
                      floating: true,
                      forceElevated: innerBoxIsScrolled,
                    )
                  ];
                } ,
                body: PageView(
                    controller: _pageController,
                    reverse: true,
                    onPageChanged: (i) {},
                    children: <Widget>[
                      ConstrainedBox(
                        constraints: const BoxConstraints.expand(),
                        child: Container(
                          margin: EdgeInsets.fromLTRB(8.0, 8.0, 8.0, 12.0),
                          child: BmiCalculator(),
                        ),
                      ),
                      ConstrainedBox(
                        constraints: const BoxConstraints.expand(),
                        child: ....
                      ),
                      ConstrainedBox(
                        constraints: const BoxConstraints.expand(),
                        child: Directionality(
                          textDirection: TextDirection.rtl,
                          child: Container(
                            margin: EdgeInsets.fromLTRB(8.0, 8.0, 8.0, 12.0),
                            child: UserProfileForm(),
                          ),
                        ),
                      ),
                    ],
                  ),
                )
          ),
        ));
  }

  Widget _buildMenuBar(BuildContext context) {
    ....
  }


}