Defines the initial main size of a flex item before free space distribution.

  • Auto: Uses the item's maximum intrinsic size

  • Dp: Uses a fixed size in dp

  • Percent: Uses a percentage of the container's main axis size

See also
basis

Summary

Public companion functions

FlexBasis
Dp(value: Dp)

Use a fixed size in Dp as the basis.

Cmn
FlexBasis
Percent(value: @FloatRange(from = 0.0, to = 1.0) Float)

Use a percentage of the container's main axis size as the basis.

Cmn

Public companion properties

FlexBasis

Use the item's maximum intrinsic (natural) size as the basis.

Cmn

Public functions

open String
Cmn

Public companion functions

Dp

fun Dp(value: Dp): FlexBasis

Use a fixed size in Dp as the basis.

import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.FlexBasis
import androidx.compose.foundation.layout.FlexBox
import androidx.compose.foundation.layout.FlexConfig
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp

val FixedBasis = FlexConfig { basis(FlexBasis.Dp(100.dp)) }
// Or use the shorthand
val FixedBasisShorthand = FlexConfig { basis(100.dp) }

FlexBox(modifier = Modifier.fillMaxWidth()) {
    Box(Modifier.height(50.dp).background(Color.Blue).flex(FixedBasis))
    Box(Modifier.height(50.dp).background(Color.Green).flex(FixedBasisShorthand))
}
Parameters
value: Dp

The basis size in Dp.

Percent

fun Percent(value: @FloatRange(from = 0.0, to = 1.0) Float): FlexBasis

Use a percentage of the container's main axis size as the basis.

import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.FlexBasis
import androidx.compose.foundation.layout.FlexBox
import androidx.compose.foundation.layout.FlexConfig
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.width
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp

val HalfWidth = FlexConfig { basis(FlexBasis.Percent(0.5f)) }
// Or use the shorthand
val HalfWidthShorthand = FlexConfig { basis(0.5f) }

FlexBox(modifier = Modifier.width(400.dp)) {
    Box(Modifier.height(50.dp).background(Color.Blue).flex(HalfWidth))
    Box(Modifier.height(50.dp).background(Color.Green).flex(HalfWidthShorthand))
}
Parameters
value: @FloatRange(from = 0.0, to = 1.0) Float

A value between 0.0 and 1.0 representing the percentage.

Public companion properties

Auto

val AutoFlexBasis

Use the item's maximum intrinsic (natural) size as the basis. This measures the item's preferred size without constraints.

This is the default value.

Public functions

toString

open fun toString(): String