Flutter の wrap_content と match_parent に相当するものは何ですか? 質問する

Flutter の wrap_content と match_parent に相当するものは何ですか? 質問する

Android ではmatch_parentwrap_contentウィジェットに含まれるコンテンツに応じて、親を基準にしてウィジェットのサイズを自動的に変更するために使用されます。

Flutter では、デフォルトですべてのウィジェットが に設定されているようですが、 と を親とwrap_content同じにするにはどうすれば変更できますか?widthheight

ベストアンサー1

注: 親ウィジェットのデフォルトの動作は、利用可能なすべてのスペースを子で埋めることです。Scafold>body:Container(sized) は Scafold>body:Center>Container(Sized) とは異なります。詳細については、こちらを参照してください。https://docs.flutter.dev/ui/layout/constraints

これを理解すると、ウィジェットがどのように機能するかという概念がすべて明らかになります。制約は下に移動し、サイズは大きくなり、親は位置を設定します。

ちょっとしたトリックでできます: 次のような要件があるとします: (幅、高さ)

ラップコンテンツ、ラップコンテンツ:

 //use this as child
 Wrap(
  children: <Widget>[*your_child*])

マッチ_親、マッチ_親:

 //use this as child
Container(
        height: double.infinity,
    width: double.infinity,child:*your_child*)

親に一致、コンテンツをラップ:

 //use this as child
Row(
  mainAxisSize: MainAxisSize.max,
  children: <Widget>[*your_child*],
);

コンテンツをラップ、親と一致:

 //use this as child
Column(
  mainAxisSize: MainAxisSize.max,
  children: <Widget>[your_child],
);

注: ウィジェットがどのように子を配置して再描画するかを理解するには、パッケージを参照してください。ウィジェットソースコードは、ネストされたウィジェットツリーを削減し、パフォーマンスを向上させるために開発しました。

おすすめ記事