Flutter :-How to put the view in the Center and Bottom of the screen?

前端 未结 3 548
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-29 04:04

I am creating the tutorial screen in which the two views like:- one is should be in the center of the screen and another should at the bottom of the screen.

But my bo

相关标签:
3条回答
  • 2021-01-29 04:33

    Thanks @Zulfiqar But It is not necessary to put the whole view inside the Stack widget and use the Align property with it. We can also use the Expanded or flexible widget to come out from the problem.
    We can also use the MediaQuery for it like below

    import 'package:flutter/cupertino.dart';
    import 'package:flutter/material.dart';
    import 'package:flutter/rendering.dart';
    import 'package:page_indicator/page_indicator.dart';
    
    class HomeScreen extends StatefulWidget {
      @override
      State<StatefulWidget> createState() {
        // TODO: implement createState
        return _HomeScreen();
      }
    }
    
    class _HomeScreen extends State<HomeScreen> {
    
    
      @override
      void initState() {
        // TODO: implement initState
    
        super.initState();
    
      }
    
      @override
      Widget build(BuildContext context) {
        // TODO: implement build
       return Material(
         child:Align(
             alignment: Alignment.center,
             child:Column(
               children: <Widget>[
                 Container(
                   height: MediaQuery.of(context).size.height*0.90,  /////HERE I USED MEDIAQUERY FOR IT
                   child: PageIndicatorContainer(
                     child: PageView(
                       children: <Widget>[
                         Container(
                           color: Colors.red,
                         ),
                         Container(
                           color: Colors.yellow,
                         ),
                         Container(
                           color: Colors.blueAccent,
                         )
                       ],
                     ),
                     length: 3,
                     align: IndicatorAlign.bottom,
                     indicatorSpace: 5.0,
                     padding: EdgeInsets.all(10.0),
                   ),
                 ),
                 Container(
                   height: MediaQuery.of(context).size.height*0.10, ////HERE I USED MEDIAQUERY FOR IT
                   color: Colors.purple,
                   child: Row(
                     mainAxisAlignment: MainAxisAlignment.center,
                     children: <Widget>[
                       Container(
                         child: OutlineButton(
                           onPressed: () {
    
                           },
                           textColor: Colors.white,
                           child: Text(
                             "Login",
                             style: TextStyle(color: Colors.white),
                           ),
                         ),
                       ),
                       Container(
                         margin: EdgeInsets.only(left: 10.0),
                         child: RaisedButton(
                           onPressed: () {},
                           color: Colors.black54,
                           child:
                           Text("SignUp", style: TextStyle(color: Colors.white)),
                         ),
                       ),
                     ],
                   ),
                 )
    
               ],
    
             )
    
         ),
       );
      }
    }
    

    And for the pageView i have used this library page_indicator: ^0.3.0

    And output from above code is as follow

    0 讨论(0)
  • 2021-01-29 04:44

    Use this to get required view

    Stack(children: <Widget>[
          Align(alignment: Alignment.center,
          child: Container(width: 100, height: 100, color: Colors.redAccent,),),
          Align(alignment: Alignment.bottomCenter,
          child: Container(height: 100, color: Colors.purpleAccent,),)
        ],)
    
    0 讨论(0)
  • 2021-01-29 04:53

    Put the bottom Container inside Align widget and use alignment: Alignment.bottomCenter .:

                    Align(
                      alignment: Alignment.bottomCenter,
                        child: Container(
                        height: 80.0,
                        color: Colors.purple,
                        child: Row(
    
                        ... .... ... // other code
    
    0 讨论(0)
提交回复
热议问题