Solution 1 :
You will want to take advantage of Flex
widgets such as Flexible
and Expanded
along with the axis aligns on both Column
or Row
. Those will provide you dynamic sizing for your children widgets. However, have in mind that Flex
widgets must be direct children from a Row
or Column
.
Check the example below that will have two buttons sharing 50% of the screen in a Row
:
Row(
children: <Widget> [
Expanded(
child: Button1(),
),
Expanded(
child: Button2(),
),
]
)
You may want to take a look at this answer.
Solution 2 :
Use the combination of MediaQuery and Alignment widget. Through MediaQuery you can get the device width and height, so that your widgets will have dynamic size according to screens and Alignment to properly align your widgets.
Problem :
One question, maybe a little silly… I’m making my first Flutter App and know I’m working on the Login Screen. It have a simple design: Welcome text and two rows with Google and Apple sign in.
I don’t want to make a Scrollable page, but how can I be sure that all the elements are fitting in the screen? Which is the best approach based in your experience and knowledge?
Thanks!