2016-12-31 68 views
0

我試圖讓一個小部件佔用1/3的屏幕,不管手機的方向如何。我該如何做到這一點?小工具佔1/3屏幕的好方法是什麼?

+0

你能更具體?你的意思是你想要一個可以擴展設備全部寬度的部件,只有高度的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, 
       ) 
      ] 
     ) 

擴展部件將分別嘗試填補行儘可能多的空間。由於其中有三個,他們將不得不分享空間,最終每個人佔用1/3的空間。

相關問題