title: How to fit all these flutter widgets in one screen?
body: <p><a href="https://i.stack.imgur.com/q1iwo.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/q1iwo.jpg" alt="enter image description here"></a>I am building this flutter App. My problem is I canno fit all the widgets in one screen. and all the font sizes and icons seem to be different although they are meant to be the same. In ReusableCard, when the Container height and width properties are set to 200 and 250 respectively, the whole app resizes but they are not uniform as shown in the picture. Does anyone has a suggestion?</p>
  
  <pre><code>import 'results_page.dart';
  import 'package:flutter/material.dart';
  import 'package:font_awesome_flutter/font_awesome_flutter.dart';
  import 'icon_content_widget.dart';
  import 'reusable_card.dart';
  import 'bottom_button.dart';
  import 'calculator_brain.dart';
  
  import 'constants.dart';
  
  enum GenderType {
    male,
    female,
  }
  
  class InputPage extends StatefulWidget {
    @override
    _InputPageState createState() =&gt; _InputPageState();
  }
  
  class _InputPageState extends State&lt;InputPage&gt; {
    GenderType selectedGender;
    int height = 180;
    int weight = 60;
    int age = 20;
  
    @override
    Widget build(BuildContext context) {
      return Scaffold(
        appBar: AppBar(title: Text('CALCULATE BMI'), centerTitle: true),
        body: ListView(
          scrollDirection: Axis.vertical,
          children: &lt;Widget&gt;[
            Padding(
              padding: const EdgeInsets.all(5.0),
              child: Container(
                child: FittedBox(
                  child: Material(
                    color: Color(0xFF00053C),
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      children: &lt;Widget&gt;[
                        Container(
                          child: ReusableCard(
                            onPress: () {
                              setState(() {
                                selectedGender = GenderType.male;
                              });
                            },
                            colour: selectedGender == GenderType.male
                                ? kActiveCardColor
                                : kInactiveCardColor,
                            cardChild:
                                IconContentWidget('MALE', FontAwesomeIcons.mars),
                          ),
                        ),
                        Container(
                          child: ReusableCard(
                            onPress: () {
                              setState(() {
                                selectedGender = GenderType.female;
                              });
                            },
                            colour: selectedGender == GenderType.female
                                ? kActiveCardColor
                                : kInactiveCardColor,
                            cardChild: IconContentWidget(
                                'FEMALE', FontAwesomeIcons.venus),
                          ),
                        ),
                      ],
                    ),
                  ),
                ),
              ),
            ),
            Padding(
              padding: const EdgeInsets.all(1.0),
              child: Container(
                child: FittedBox(
                  child: Material(
                    color: Color(0xFF00053C),
                    child: Row(
  
                      children: &lt;Widget&gt;[
                        Container(
                          child: ReusableCard(
                            colour: kActiveCardColor,
                            cardChild: Column(
                              mainAxisAlignment: MainAxisAlignment.center,
                              children: &lt;Widget&gt;[
                                Text('HEIGHT', style: kLabelTextStyle),
                                Row(
                                  mainAxisAlignment: MainAxisAlignment.center,
                                  crossAxisAlignment: CrossAxisAlignment.baseline,
                                  textBaseline: TextBaseline.alphabetic,
                                  children: &lt;Widget&gt;[
                                    Text(height.toString(),
                                        style: kNumberTextStyle),
                                    Text('cm', style: kLabelTextStyle),
                                  ],
                                ),
                                SliderTheme(
                                  data: SliderTheme.of(context).copyWith(
                                    activeTrackColor: Colors.white,
                                    inactiveTrackColor: Color(0xFF8D8E98),
                                    thumbColor: Color(0xFFEB1555),
                                    overlayColor: Color(0x29EB1555),
                                    thumbShape: RoundSliderThumbShape(
                                        enabledThumbRadius: 15.0),
                                    overlayShape: RoundSliderOverlayShape(
                                        overlayRadius: 30.0),
                                  ),
                                  child: Slider(
                                    value: height.toDouble(),
                                    min: 120.0,
                                    max: 220.0,
                                    onChanged: (double newValue) {
                                      setState(() {
                                        height = newValue.round();
                                      });
                                    },
                                  ),
                                ),
                              ],
                            ),
                          ),
                        ),
                      ],
                    ),
                  ),
                ),
              ),
            ),
            Padding(
              padding: const EdgeInsets.all(5.0),
              child: Container(
                child: FittedBox(
                  child: Material(
                    color: Color(0xFF00053C),
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      children: &lt;Widget&gt;[
                        Container(
                          child: ReusableCard(
                            colour: kActiveCardColor,
                            cardChild: Column(
                              mainAxisAlignment: MainAxisAlignment.center,
                              children: &lt;Widget&gt;[
                                Text(
                                  'WEIGHT(Kg)',
                                  style: kLabelTextStyle,
                                ),
                                Text(
                                  weight.toString(),
                                  style: kNumberTextStyle,
                                ),
                                Row(
                                  mainAxisAlignment: MainAxisAlignment.center,
                                  children: &lt;Widget&gt;[
                                    RoundIconButton(
                                      iconName: FontAwesomeIcons.minus,
                                      onPressed: () {
                                        setState(() {
                                          weight--;
                                        });
                                      },
                                    ),
                                    SizedBox(
                                      width: 15.0,
                                    ),
                                    RoundIconButton(
                                      iconName: FontAwesomeIcons.plus,
                                      onPressed: () {
                                        setState(() {
                                          weight++;
                                        });
                                      },
                                    ),
                                  ],
                                ),
                              ],
                            ),
                          ),
                        ),
                        Container(
                          child: ReusableCard(
                            colour: kActiveCardColor,
                            cardChild: Column(
                              mainAxisAlignment: MainAxisAlignment.center,
                              children: &lt;Widget&gt;[
                                Text(
                                  'AGE',
                                  style: kLabelTextStyle,
                                ),
                                Text(age.toString(), style: kNumberTextStyle),
                                Row(
                                  mainAxisAlignment: MainAxisAlignment.center,
                                  children: &lt;Widget&gt;[
                                    RoundIconButton(
                                      iconName: FontAwesomeIcons.minus,
                                      onPressed: () {
                                        setState(() {
                                          age--;
                                        });
                                      },
                                    ),
                                    SizedBox(
                                      width: 15.0,
                                    ),
                                    RoundIconButton(
                                      iconName: FontAwesomeIcons.plus,
                                      onPressed: () {
                                        setState(() {
                                          age++;
                                        });
                                      },
                                    )
                                  ],
                                ),
                              ],
                            ),
                          ),
                        ),
                      ],
                    ),
                  ),
                ),
              ),
            ),
            BottomButton(
              buttonTitle: 'CALCULATE',
              onTap: () {
                CalculatorBrain calc =
                    CalculatorBrain(height: height, weight: weight);
                print(calc);
                Navigator.push(
                  context,
                  MaterialPageRoute(
                    builder: (context) {
                      return ResultsPage(
                          bmiResult: calc.calculateBMI(),
                          interpretation: calc.getInterpretation(),
                          resultText: calc.getResult());
                    },
                  ),
                );
              },
            ),
          ],
        ),
      );
    }
  }
  
  class RoundIconButton extends StatelessWidget {
    final Function onPressed;
    final IconData iconName;
  
    RoundIconButton({@required this.iconName, this.onPressed});
    @override
    Widget build(BuildContext context) {
      return RawMaterialButton(
        shape: CircleBorder(),
        fillColor: Color(0xFF4C4F5E),
        constraints: BoxConstraints.tightFor(width: 56.0, height: 56.0),
        elevation: 0.0,
        onPressed: onPressed,
        child: Icon(iconName),
      );
    }
  }
  
  
  class ReusableCard extends StatelessWidget {
    ReusableCard({@required this.colour, this.cardChild, this.onPress});
    final Color colour;
    final Widget cardChild;
    final Function onPress;
  
    @override
    Widget build(BuildContext context) {
      return GestureDetector(
        onTap:  onPress,
        child: Container(
          height: 200,
          width: 250,
          child: cardChild,
          margin: EdgeInsets.all(5.0),
          decoration: BoxDecoration(
            color: colour,
            borderRadius: BorderRadius.circular(10.0),
          ),
        ),
      );
    }
  }[![enter image description here][1]][1]
  </code></pre>