OutlinedTextFieldDefaults


Contains the default values used by OutlinedTextField. For defaults used in TextField, see TextFieldDefaults.

Summary

Public functions

Unit
@ExperimentalMaterial3Api
@Composable
Container(
    enabled: Boolean,
    isError: Boolean,
    interactionSource: InteractionSource,
    modifier: Modifier,
    colors: TextFieldColors,
    shape: Shape,
    focusedBorderThickness: Dp,
    unfocusedBorderThickness: Dp
)

Composable that draws a default container for an OutlinedTextField with a border stroke.

Cmn
Unit
@ExperimentalMaterial3Api
@Composable
ContainerBox(
    enabled: Boolean,
    isError: Boolean,
    interactionSource: InteractionSource,
    colors: TextFieldColors,
    shape: Shape,
    focusedBorderThickness: Dp,
    unfocusedBorderThickness: Dp
)

This function is deprecated. Renamed to OutlinedTextFieldDefaults.Container

Cmn
Unit
@Composable
@ExperimentalMaterial3Api
DecorationBox(
    value: String,
    innerTextField: @Composable () -> Unit,
    enabled: Boolean,
    singleLine: Boolean,
    visualTransformation: VisualTransformation,
    interactionSource: InteractionSource,
    isError: Boolean,
    label: (@Composable () -> Unit)?,
    placeholder: (@Composable () -> Unit)?,
    leadingIcon: (@Composable () -> Unit)?,
    trailingIcon: (@Composable () -> Unit)?,
    prefix: (@Composable () -> Unit)?,
    suffix: (@Composable () -> Unit)?,
    supportingText: (@Composable () -> Unit)?,
    colors: TextFieldColors,
    contentPadding: PaddingValues,
    container: @Composable () -> Unit
)

A decoration box used to create custom text fields based on Material Design outlined text field.

Cmn
TextFieldColors

Creates a TextFieldColors that represents the default input text, container, and content colors (including label, placeholder, icons, etc.) used in an OutlinedTextField.

Cmn
TextFieldColors
@Composable
colors(
    focusedTextColor: Color,
    unfocusedTextColor: Color,
    disabledTextColor: Color,
    errorTextColor: Color,
    focusedContainerColor: Color,
    unfocusedContainerColor: Color,
    disabledContainerColor: Color,
    errorContainerColor: Color,
    cursorColor: Color,
    errorCursorColor: Color,
    selectionColors: TextSelectionColors?,
    focusedBorderColor: Color,
    unfocusedBorderColor: Color,
    disabledBorderColor: Color,
    errorBorderColor: Color,
    focusedLeadingIconColor: Color,
    unfocusedLeadingIconColor: Color,
    disabledLeadingIconColor: Color,
    errorLeadingIconColor: Color,
    focusedTrailingIconColor: Color,
    unfocusedTrailingIconColor: Color,
    disabledTrailingIconColor: Color,
    errorTrailingIconColor: Color,
    focusedLabelColor: Color,
    unfocusedLabelColor: Color,
    disabledLabelColor: Color,
    errorLabelColor: Color,
    focusedPlaceholderColor: Color,
    unfocusedPlaceholderColor: Color,
    disabledPlaceholderColor: Color,
    errorPlaceholderColor: Color,
    focusedSupportingTextColor: Color,
    unfocusedSupportingTextColor: Color,
    disabledSupportingTextColor: Color,
    errorSupportingTextColor: Color,
    focusedPrefixColor: Color,
    unfocusedPrefixColor: Color,
    disabledPrefixColor: Color,
    errorPrefixColor: Color,
    focusedSuffixColor: Color,
    unfocusedSuffixColor: Color,
    disabledSuffixColor: Color,
    errorSuffixColor: Color
)

Creates a TextFieldColors that represents the default input text, container, and content colors (including label, placeholder, icons, etc.) used in an OutlinedTextField.

Cmn
PaddingValues
contentPadding(start: Dp, top: Dp, end: Dp, bottom: Dp)

Default content padding of the input field within the OutlinedTextField.

Cmn
TextFieldDecorator
@Composable
@ExperimentalMaterial3Api
decorator(
    state: TextFieldState,
    enabled: Boolean,
    lineLimits: TextFieldLineLimits,
    outputTransformation: OutputTransformation?,
    interactionSource: InteractionSource,
    labelPosition: TextFieldLabelPosition,
    label: (@Composable TextFieldLabelScope.() -> Unit)?,
    placeholder: (@Composable () -> Unit)?,
    leadingIcon: (@Composable () -> Unit)?,
    trailingIcon: (@Composable () -> Unit)?,
    prefix: (@Composable () -> Unit)?,
    suffix: (@Composable () -> Unit)?,
    supportingText: (@Composable () -> Unit)?,
    isError: Boolean,
    colors: TextFieldColors,
    contentPadding: PaddingValues,
    container: @Composable () -> Unit
)

A decorator used to create custom text fields based on Material Design outlined text field.

Cmn

Public properties

Dp

The default thickness of the border in OutlinedTextField in focused state.

Cmn
Dp

The default min height applied to an OutlinedTextField.

Cmn
Dp

The default min width applied to an OutlinedTextField.

Cmn
Dp

The default thickness of the border in OutlinedTextField in unfocused state.

Cmn
Shape

Default shape for an OutlinedTextField.

Cmn

Public functions

Container

@ExperimentalMaterial3Api
@Composable
fun Container(
    enabled: Boolean,
    isError: Boolean,
    interactionSource: InteractionSource,
    modifier: Modifier = Modifier,
    colors: TextFieldColors = colors(),
    shape: Shape = OutlinedTextFieldDefaults.shape,
    focusedBorderThickness: Dp = FocusedBorderThickness,
    unfocusedBorderThickness: Dp = UnfocusedBorderThickness
): Unit

Composable that draws a default container for an OutlinedTextField with a border stroke. You can apply it to a BasicTextField using DecorationBox to create a custom text field based on the styling of a Material outlined text field. The OutlinedTextField component applies it automatically.

Parameters
enabled: Boolean

whether the text field is enabled

isError: Boolean

whether the text field's current value is in error

interactionSource: InteractionSource

the InteractionSource of the text field. Used to determine if the text field is in focus or not

modifier: Modifier = Modifier

the Modifier of this container

colors: TextFieldColors = colors()

TextFieldColors used to resolve colors of the text field

shape: Shape = OutlinedTextFieldDefaults.shape

the shape of this container

focusedBorderThickness: Dp = FocusedBorderThickness

thickness of the border when the text field is focused

unfocusedBorderThickness: Dp = UnfocusedBorderThickness

thickness of the border when the text field is not focused

ContainerBox

@ExperimentalMaterial3Api
@Composable
fun ContainerBox(
    enabled: Boolean,
    isError: Boolean,
    interactionSource: InteractionSource,
    colors: TextFieldColors = colors(),
    shape: Shape = OutlinedTextFieldDefaults.shape,
    focusedBorderThickness: Dp = FocusedBorderThickness,
    unfocusedBorderThickness: Dp = UnfocusedBorderThickness
): Unit

DecorationBox

@Composable
@ExperimentalMaterial3Api
fun DecorationBox(
    value: String,
    innerTextField: @Composable () -> Unit,
    enabled: Boolean,
    singleLine: Boolean,
    visualTransformation: VisualTransformation,
    interactionSource: InteractionSource,
    isError: Boolean = false,
    label: (@Composable () -> Unit)? = null,
    placeholder: (@Composable () -> Unit)? = null,
    leadingIcon: (@Composable () -> Unit)? = null,
    trailingIcon: (@Composable () -> Unit)? = null,
    prefix: (@Composable () -> Unit)? = null,
    suffix: (@Composable () -> Unit)? = null,
    supportingText: (@Composable () -> Unit)? = null,
    colors: TextFieldColors = colors(),
    contentPadding: PaddingValues = contentPadding(),
    container: @Composable () -> Unit = { Container( enabled = enabled, isError = isError, interactionSource = interactionSource, modifier = Modifier, colors = colors, shape = shape, focusedBorderThickness = FocusedBorderThickness, unfocusedBorderThickness = UnfocusedBorderThickness, ) }
): Unit

A decoration box used to create custom text fields based on Material Design outlined text field.

If your text field requires customising elements that aren't exposed by OutlinedTextField, consider using this decoration box to achieve the desired design.

For example, if you wish to customize the thickness of the border, you can pass a custom Container to this decoration box's container.

This decoration box is meant to be used in conjunction with overloads of BasicTextField that accept a decorationBox parameter. For other overloads of BasicTextField that use a TextFieldDecorator, see decorator.

An example of building a custom text field using DecorationBox:

import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.text.BasicTextField
import androidx.compose.material3.LocalTextStyle
import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.OutlinedTextFieldDefaults
import androidx.compose.material3.Text
import androidx.compose.material3.TextField
import androidx.compose.material3.TextFieldDefaults
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.unit.dp

var text by remember { mutableStateOf("") }
val interactionSource = remember { MutableInteractionSource() }
val enabled = true
val isError = false
val singleLine = true

BasicTextField(
    value = text,
    onValueChange = { text = it },
    modifier = Modifier,
    interactionSource = interactionSource,
    enabled = enabled,
    singleLine = singleLine,
    textStyle = LocalTextStyle.current,
    decorationBox = { innerTextField ->
        OutlinedTextFieldDefaults.DecorationBox(
            value = text,
            innerTextField = innerTextField,
            visualTransformation = VisualTransformation.None,
            singleLine = singleLine,
            enabled = enabled,
            isError = isError,
            interactionSource = interactionSource,
            container = {
                OutlinedTextFieldDefaults.Container(
                    enabled = enabled,
                    isError = isError,
                    interactionSource = interactionSource,
                    // Update border thickness and shape
                    shape = RectangleShape,
                    unfocusedBorderThickness = 2.dp,
                    focusedBorderThickness = 4.dp
                )
            },
        )
    }
)
Parameters
value: String

the input String shown by the text field

innerTextField: @Composable () -> Unit

input text field that this decoration box wraps. You will pass here a framework-controlled composable parameter "innerTextField" from the decorationBox lambda of the BasicTextField

enabled: Boolean

the enabled state of the text field. When false, this decoration box will appear visually disabled. This must be the same value that is passed to BasicTextField.

singleLine: Boolean

indicates if this is a single line or multi line text field. This must be the same value that is passed to BasicTextField.

visualTransformation: VisualTransformation

transforms the visual representation of the input value. This must be the same value that is passed to BasicTextField.

interactionSource: InteractionSource

the read-only InteractionSource representing the stream of Interactions for this text field. You must first create and pass in your own remembered MutableInteractionSource instance to the BasicTextField for it to dispatch events. And then pass the same instance to this decoration box to observe Interactions and customize the appearance / behavior of this text field in different states.

isError: Boolean = false

indicates if the text field's current value is in an error state. When true, this decoration box will display its contents in an error color.

label: (@Composable () -> Unit)? = null

the optional label to be displayed with this text field. The default text style uses Typography.bodySmall when minimized and Typography.bodyLarge when expanded.

placeholder: (@Composable () -> Unit)? = null

the optional placeholder to be displayed when the text field is in focus and the input text is empty. The default text style for internal Text is Typography.bodyLarge.

leadingIcon: (@Composable () -> Unit)? = null

the optional leading icon to be displayed at the beginning of the text field container

trailingIcon: (@Composable () -> Unit)? = null

the optional trailing icon to be displayed at the end of the text field container

prefix: (@Composable () -> Unit)? = null

the optional prefix to be displayed before the input text in the text field

suffix: (@Composable () -> Unit)? = null

the optional suffix to be displayed after the input text in the text field

supportingText: (@Composable () -> Unit)? = null

the optional supporting text to be displayed below the text field

colors: TextFieldColors = colors()

TextFieldColors that will be used to resolve the colors used for this text field in different states. See OutlinedTextFieldDefaults.colors.

contentPadding: PaddingValues = contentPadding()

the padding between the input field and the surrounding elements of the decoration box. Note that the padding values may not be respected if they are incompatible with the text field's size constraints or layout. See OutlinedTextFieldDefaults.contentPadding.

container: @Composable () -> Unit = { Container( enabled = enabled, isError = isError, interactionSource = interactionSource, modifier = Modifier, colors = colors, shape = shape, focusedBorderThickness = FocusedBorderThickness, unfocusedBorderThickness = UnfocusedBorderThickness, ) }

the container to be drawn behind the text field. By default, this is transparent and only includes a border. The cutout in the border to fit the label will be automatically added by the framework. Default colors for the container come from the colors.

colors

@Composable
fun colors(): TextFieldColors

Creates a TextFieldColors that represents the default input text, container, and content colors (including label, placeholder, icons, etc.) used in an OutlinedTextField.

colors

@Composable
fun colors(
    focusedTextColor: Color = Color.Unspecified,
    unfocusedTextColor: Color = Color.Unspecified,
    disabledTextColor: Color = Color.Unspecified,
    errorTextColor: Color = Color.Unspecified,
    focusedContainerColor: Color = Color.Unspecified,
    unfocusedContainerColor: Color = Color.Unspecified,
    disabledContainerColor: Color = Color.Unspecified,
    errorContainerColor: Color = Color.Unspecified,
    cursorColor: Color = Color.Unspecified,
    errorCursorColor: Color = Color.Unspecified,
    selectionColors: TextSelectionColors? = null,
    focusedBorderColor: Color = Color.Unspecified,
    unfocusedBorderColor: Color = Color.Unspecified,
    disabledBorderColor: Color = Color.Unspecified,
    errorBorderColor: Color = Color.Unspecified,
    focusedLeadingIconColor: Color = Color.Unspecified,
    unfocusedLeadingIconColor: Color = Color.Unspecified,
    disabledLeadingIconColor: Color = Color.Unspecified,
    errorLeadingIconColor: Color = Color.Unspecified,
    focusedTrailingIconColor: Color = Color.Unspecified,
    unfocusedTrailingIconColor: Color = Color.Unspecified,
    disabledTrailingIconColor: Color = Color.Unspecified,
    errorTrailingIconColor: Color = Color.Unspecified,
    focusedLabelColor: Color = Color.Unspecified,
    unfocusedLabelColor: Color = Color.Unspecified,
    disabledLabelColor: Color = Color.Unspecified,
    errorLabelColor: Color = Color.Unspecified,
    focusedPlaceholderColor: Color = Color.Unspecified,
    unfocusedPlaceholderColor: Color = Color.Unspecified,
    disabledPlaceholderColor: Color = Color.Unspecified,
    errorPlaceholderColor: Color = Color.Unspecified,
    focusedSupportingTextColor: Color = Color.Unspecified,
    unfocusedSupportingTextColor: Color = Color.Unspecified,
    disabledSupportingTextColor: Color = Color.Unspecified,
    errorSupportingTextColor: Color = Color.Unspecified,
    focusedPrefixColor: Color = Color.Unspecified,
    unfocusedPrefixColor: Color = Color.Unspecified,
    disabledPrefixColor: Color = Color.Unspecified,
    errorPrefixColor: Color = Color.Unspecified,
    focusedSuffixColor: Color = Color.Unspecified,
    unfocusedSuffixColor: Color = Color.Unspecified,
    disabledSuffixColor: Color = Color.Unspecified,
    errorSuffixColor: Color = Color.Unspecified
): TextFieldColors

Creates a TextFieldColors that represents the default input text, container, and content colors (including label, placeholder, icons, etc.) used in an OutlinedTextField.

Parameters
focusedTextColor: Color = Color.Unspecified

the color used for the input text of this text field when focused

unfocusedTextColor: Color = Color.Unspecified

the color used for the input text of this text field when not focused

disabledTextColor: Color = Color.Unspecified

the color used for the input text of this text field when disabled

errorTextColor: Color = Color.Unspecified

the color used for the input text of this text field when in error state

focusedContainerColor: Color = Color.Unspecified

the container color for this text field when focused

unfocusedContainerColor: Color = Color.Unspecified

the container color for this text field when not focused

disabledContainerColor: Color = Color.Unspecified

the container color for this text field when disabled

errorContainerColor: Color = Color.Unspecified

the container color for this text field when in error state

cursorColor: Color = Color.Unspecified

the cursor color for this text field

errorCursorColor: Color = Color.Unspecified

the cursor color for this text field when in error state

selectionColors: TextSelectionColors? = null

the colors used when the input text of this text field is selected

focusedBorderColor: Color = Color.Unspecified

the border color for this text field when focused

unfocusedBorderColor: Color = Color.Unspecified

the border color for this text field when not focused

disabledBorderColor: Color = Color.Unspecified

the border color for this text field when disabled

errorBorderColor: Color = Color.Unspecified

the border color for this text field when in error state

focusedLeadingIconColor: Color = Color.Unspecified

the leading icon color for this text field when focused

unfocusedLeadingIconColor: Color = Color.Unspecified

the leading icon color for this text field when not focused

disabledLeadingIconColor: Color = Color.Unspecified

the leading icon color for this text field when disabled

errorLeadingIconColor: Color = Color.Unspecified

the leading icon color for this text field when in error state

focusedTrailingIconColor: Color = Color.Unspecified

the trailing icon color for this text field when focused

unfocusedTrailingIconColor: Color = Color.Unspecified

the trailing icon color for this text field when not focused

disabledTrailingIconColor: Color = Color.Unspecified

the trailing icon color for this text field when disabled

errorTrailingIconColor: Color = Color.Unspecified

the trailing icon color for this text field when in error state

focusedLabelColor: Color = Color.Unspecified

the label color for this text field when focused

unfocusedLabelColor: Color = Color.Unspecified

the label color for this text field when not focused

disabledLabelColor: Color = Color.Unspecified

the label color for this text field when disabled

errorLabelColor: Color = Color.Unspecified

the label color for this text field when in error state

focusedPlaceholderColor: Color = Color.Unspecified

the placeholder color for this text field when focused

unfocusedPlaceholderColor: Color = Color.Unspecified

the placeholder color for this text field when not focused

disabledPlaceholderColor: Color = Color.Unspecified

the placeholder color for this text field when disabled

errorPlaceholderColor: Color = Color.Unspecified

the placeholder color for this text field when in error state

focusedSupportingTextColor: Color = Color.Unspecified

the supporting text color for this text field when focused

unfocusedSupportingTextColor: Color = Color.Unspecified

the supporting text color for this text field when not focused

disabledSupportingTextColor: Color = Color.Unspecified

the supporting text color for this text field when disabled

errorSupportingTextColor: Color = Color.Unspecified

the supporting text color for this text field when in error state

focusedPrefixColor: Color = Color.Unspecified

the prefix color for this text field when focused

unfocusedPrefixColor: Color = Color.Unspecified

the prefix color for this text field when not focused

disabledPrefixColor: Color = Color.Unspecified

the prefix color for this text field when disabled

errorPrefixColor: Color = Color.Unspecified

the prefix color for this text field when in error state

focusedSuffixColor: Color = Color.Unspecified

the suffix color for this text field when focused

unfocusedSuffixColor: Color = Color.Unspecified

the suffix color for this text field when not focused

disabledSuffixColor: Color = Color.Unspecified

the suffix color for this text field when disabled

errorSuffixColor: Color = Color.Unspecified

the suffix color for this text field when in error state

contentPadding

fun contentPadding(
    start: Dp = TextFieldPadding,
    top: Dp = TextFieldPadding,
    end: Dp = TextFieldPadding,
    bottom: Dp = TextFieldPadding
): PaddingValues

Default content padding of the input field within the OutlinedTextField.

Horizontal padding represents the distance between the input field and the leading/trailing icons (if present) or the horizontal edges of the container if there are no icons.

decorator

@Composable
@ExperimentalMaterial3Api
fun decorator(
    state: TextFieldState,
    enabled: Boolean,
    lineLimits: TextFieldLineLimits,
    outputTransformation: OutputTransformation?,
    interactionSource: InteractionSource,
    labelPosition: TextFieldLabelPosition = TextFieldLabelPosition.Attached(),
    label: (@Composable TextFieldLabelScope.() -> Unit)? = null,
    placeholder: (@Composable () -> Unit)? = null,
    leadingIcon: (@Composable () -> Unit)? = null,
    trailingIcon: (@Composable () -> Unit)? = null,
    prefix: (@Composable () -> Unit)? = null,
    suffix: (@Composable () -> Unit)? = null,
    supportingText: (@Composable () -> Unit)? = null,
    isError: Boolean = false,
    colors: TextFieldColors = colors(),
    contentPadding: PaddingValues = contentPadding(),
    container: @Composable () -> Unit = { Container( enabled = enabled, isError = isError, interactionSource = interactionSource, colors = colors, shape = shape, focusedBorderThickness = FocusedBorderThickness, unfocusedBorderThickness = UnfocusedBorderThickness, ) }
): TextFieldDecorator

A decorator used to create custom text fields based on Material Design outlined text field.

If your text field requires customising elements that aren't exposed by OutlinedTextField, such as the border thickness, consider using this decorator to achieve the desired design.

For example, if you wish to customize the thickness of the border, you can pass a custom Container to this decoration box's container.

This decorator is meant to be used in conjunction with the overload of BasicTextField that accepts a TextFieldDecorator parameter. For other overloads of BasicTextField that use a decorationBox, see DecorationBox.

An example of building a custom text field using decorator:

import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.text.BasicTextField
import androidx.compose.foundation.text.input.TextFieldLineLimits
import androidx.compose.foundation.text.input.rememberTextFieldState
import androidx.compose.material3.LocalTextStyle
import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.OutlinedTextFieldDefaults
import androidx.compose.material3.Text
import androidx.compose.material3.TextField
import androidx.compose.material3.TextFieldDefaults
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.unit.dp

val state = rememberTextFieldState()
val interactionSource = remember { MutableInteractionSource() }
val enabled = true
val isError = false
val lineLimits = TextFieldLineLimits.SingleLine

BasicTextField(
    state = state,
    modifier = Modifier,
    interactionSource = interactionSource,
    enabled = enabled,
    lineLimits = lineLimits,
    textStyle = LocalTextStyle.current,
    decorator =
        OutlinedTextFieldDefaults.decorator(
            state = state,
            outputTransformation = null,
            lineLimits = lineLimits,
            enabled = enabled,
            isError = isError,
            interactionSource = interactionSource,
            container = {
                OutlinedTextFieldDefaults.Container(
                    enabled = enabled,
                    isError = isError,
                    interactionSource = interactionSource,
                    // Update border thickness and shape
                    shape = RectangleShape,
                    unfocusedBorderThickness = 2.dp,
                    focusedBorderThickness = 4.dp
                )
            },
        )
)
Parameters
state: TextFieldState

TextFieldState object that holds the internal editing state of the text field.

enabled: Boolean

the enabled state of the text field. When false, this decorator will appear visually disabled. This must be the same value that is passed to BasicTextField.

lineLimits: TextFieldLineLimits

whether the text field is SingleLine or MultiLine. This must be the same value that is passed to BasicTextField.

outputTransformation: OutputTransformation?

OutputTransformation that transforms how the contents of the text field are presented. This must be the same value that is passed to BasicTextField.

interactionSource: InteractionSource

the read-only InteractionSource representing the stream of Interactions for this text field. You must first create and pass in your own remembered MutableInteractionSource instance to the BasicTextField for it to dispatch events. And then pass the same instance to this decorator to observe Interactions and customize the appearance/behavior of the text field in different states.

labelPosition: TextFieldLabelPosition = TextFieldLabelPosition.Attached()

the position of the label. See TextFieldLabelPosition.

label: (@Composable TextFieldLabelScope.() -> Unit)? = null

the optional label to be displayed with this text field. The default text style uses Typography.bodySmall when minimized and Typography.bodyLarge when expanded.

placeholder: (@Composable () -> Unit)? = null

the optional placeholder to be displayed when the input text is empty. The default text style uses Typography.bodyLarge.

leadingIcon: (@Composable () -> Unit)? = null

the optional leading icon to be displayed at the beginning of the text field container.

trailingIcon: (@Composable () -> Unit)? = null

the optional trailing icon to be displayed at the end of the text field container.

prefix: (@Composable () -> Unit)? = null

the optional prefix to be displayed before the input text in the text field.

suffix: (@Composable () -> Unit)? = null

the optional suffix to be displayed after the input text in the text field.

supportingText: (@Composable () -> Unit)? = null

the optional supporting text to be displayed below the text field.

isError: Boolean = false

indicates if the text field's current value is in an error state. When true, this decorator will display its contents in an error color.

colors: TextFieldColors = colors()

TextFieldColors that will be used to resolve the colors used for this text field decorator in different states. See OutlinedTextFieldDefaults.colors.

contentPadding: PaddingValues = contentPadding()

the padding between the input field and the surrounding elements of the decorator. Note that the padding values may not be respected if they are incompatible with the text field's size constraints or layout. See OutlinedTextFieldDefaults.contentPadding.

container: @Composable () -> Unit = { Container( enabled = enabled, isError = isError, interactionSource = interactionSource, colors = colors, shape = shape, focusedBorderThickness = FocusedBorderThickness, unfocusedBorderThickness = UnfocusedBorderThickness, ) }

the container to be drawn behind the text field. By default, this is transparent and only includes a border. The cutout in the border to fit the label will be automatically added by the framework. Default colors for the container come from the colors.

Public properties

FocusedBorderThickness

val FocusedBorderThicknessDp

The default thickness of the border in OutlinedTextField in focused state.

MinHeight

val MinHeightDp

The default min height applied to an OutlinedTextField. Note that you can override it by applying Modifier.heightIn directly on a text field.

MinWidth

val MinWidthDp

The default min width applied to an OutlinedTextField. Note that you can override it by applying Modifier.widthIn directly on a text field.

UnfocusedBorderThickness

val UnfocusedBorderThicknessDp

The default thickness of the border in OutlinedTextField in unfocused state.

shape

val shapeShape

Default shape for an OutlinedTextField.