2016-12-31 5 views
0

私は、携帯電話の向きにかかわらず、ウィジェットが画面の1/3を占めるようにしようとしています。これをどのように達成するのですか?ウィジェットが画面の1/3を占めるにはどうすればよいでしょうか?

+0

あなたはより具体的なことはできますか?あなたは、デバイスの全幅に渡って、高さのわずか1/3のウィジェットのようにしたいと思っていますか?または、行の上にあるボタンのようなもので、電話の幅の1/3にすぎませんか? – Reagankm

答えて

1

私はカラムを使用し、柔軟に内容をラップし、子供が1/3画面を取るために得るためにフレックスを変更することで、望んだ:

new Column(
    mainAxisAlignment: MainAxisAlignment.spaceBetween, 
    children: <Widget>[ 
    new Flexible(flex: 2, child: new SizedBox()), 
    new Flexible(flex: 1, child: createTextBox()) 
    ] 
); 
0

特に役立つウィジェットは、AspectRatio、Column/Expanded、CustomSingleChildLayoutです。あなたがしたいことを正確に知らなくても、良い答えを出すのは難しいです。

+0

私は必要なものを持っていると思いますが、isomg ColumnとFlexibleで子をラップします。 – Mark

+0

@Markあなたはあなたのソリューションでこの質問に自己回答できますか? Stack Overflowで自己回答するのは問題ありません。他の人があなたのソリューションを見たいと思うでしょう。ありがとう!! –

0

あなたはそうのように、あなたの行の子としてExpandedウィジェットを使用してみてください。

new Row(
    mainAxisAlignment: MainAxisAlignment.spaceBetween, 
    children: [ 
    new Expanded(
     child: yourFirstContentWidget, 
       ), 
    new Expanded(
     child: yourNextContentWidget, 
       ), 
    new Expanded(
     child: yourLastContentWidget, 
       ) 
      ] 
     ) 

拡張ウィジェットがそれぞれできるだけ行のように多くのスペースを埋めるためにしようとします。それらの3つがあるので、彼らはスペースを共有する必要があります、あなたは行の1/3を占めるそれぞれで終わるでしょう。

関連する問題