コンテンツにスキップ

IntrinsicWidth クラス

子の自然な最大幅に合わせて幅を決めます。

名前空間: FloatSoda.Widgets.Layout
アセンブリ: FloatSoda.dll

public sealed record IntrinsicWidth : SingleChildRenderObjectWidget<RenderIntrinsicWidth>, IEquatable<Widget>, IEquatable<RenderObjectWidget<RenderIntrinsicWidth>>, IEquatable<SingleChildRenderObjectWidget<RenderIntrinsicWidth>>, IEquatable<IntrinsicWidth>

object ← Widget ← RenderObjectWidget<RenderIntrinsicWidth> ← SingleChildRenderObjectWidget<RenderIntrinsicWidth> ← IntrinsicWidth

IEquatable<Widget>, IEquatable<RenderObjectWidget<RenderIntrinsicWidth>>, IEquatable<SingleChildRenderObjectWidget<RenderIntrinsicWidth>>, IEquatable<IntrinsicWidth>

SingleChildRenderObjectWidget<RenderIntrinsicWidth>.Child, SingleChildRenderObjectWidget<RenderIntrinsicWidth>.CreateElement(), RenderObjectWidget<RenderIntrinsicWidth>.CreateRenderObject(), RenderObjectWidget<RenderIntrinsicWidth>.UpdateRenderObject(RenderIntrinsicWidth), Widget.Key, Widget.CanUpdate(Widget, Widget), Widget.CreateElement(), Widget.GetHashCode(), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()

intrinsic測定は追加のレイアウト走査を行い、入れ子では最悪O(N²)になり得ます。 スクロール領域や大規模ツリーでは使用せず、可能ならSizedBoxやConstrainedBoxを使用してください。

自然な幅を切り上げる単位を取得します。

public double? StepWidth { get; init; }

double?

0はRenderObjectへ渡す前にnullへ置き換えます。Flutter の IntrinsicWidth に合わせています。

ArgumentOutOfRangeException

値が負数または非有限値です。

Elementが初めてマウントされるときに、このウィジェットの構成に対応するRenderObjectを生成します。

public override RenderIntrinsicWidth CreateRenderObject()

RenderIntrinsicWidth

RenderObjectツリーへ接続する新しいRenderObject。

既存のElementが再利用されたときに、現在のウィジェットの構成をRenderObjectへ反映します。

public override void UpdateRenderObject(RenderIntrinsicWidth renderObject)

renderObject RenderIntrinsicWidth

CreateRenderObjectによって生成され、Elementが現在保持しているRenderObject。

既定の実装は何も変更しません。派生型は、構成値の変更に応じて必要なDirty状態が更新されるよう、 RenderObjectの公開プロパティを介して差分を反映します。