Compose 修饰符列表

操作

范围:任意
@ExperimentalFoundationApi
<T : Any?> Modifier.anchoredDraggable(
    state: AnchoredDraggableState<T>,
    orientation: Orientation,
    enabled: Boolean,
    interactionSource: MutableInteractionSource?,
    overscrollEffect: OverscrollEffect?,
    startDragImmediately: Boolean
)

启用在一组预定义值之间拖动手势。

范围:任意
@ExperimentalFoundationApi
<T : Any?> Modifier.anchoredDraggable(
    state: AnchoredDraggableState<T>,
    reverseDirection: Boolean,
    orientation: Orientation,
    enabled: Boolean,
    interactionSource: MutableInteractionSource?,
    overscrollEffect: OverscrollEffect?,
    startDragImmediately: Boolean
)

启用在一组预定义值之间拖动手势。

范围:任意
Modifier.clickable(
    enabled: Boolean,
    onClickLabel: String?,
    role: Role?,
    onClick: () -> Unit
)

配置组件以通过输入或辅助功能“点击”事件接收点击。

范围:任意
Modifier.clickable(
    interactionSource: MutableInteractionSource?,
    indication: Indication?,
    enabled: Boolean,
    onClickLabel: String?,
    role: Role?,
    onClick: () -> Unit
)

配置组件以通过输入或辅助功能“点击”事件接收点击。

范围:任意
@ExperimentalFoundationApi
Modifier.combinedClickable(
    enabled: Boolean,
    onClickLabel: String?,
    role: Role?,
    onLongClickLabel: String?,
    onLongClick: (() -> Unit)?,
    onDoubleClick: (() -> Unit)?,
    onClick: () -> Unit
)

配置组件以通过输入或辅助功能“点击”事件接收点击、双击和长按。

范围:任意
@ExperimentalFoundationApi
Modifier.combinedClickable(
    interactionSource: MutableInteractionSource?,
    indication: Indication?,
    enabled: Boolean,
    onClickLabel: String?,
    role: Role?,
    onLongClickLabel: String?,
    onLongClick: (() -> Unit)?,
    onDoubleClick: (() -> Unit)?,
    onClick: () -> Unit
)

配置组件以通过输入或辅助功能“点击”事件接收点击、双击和长按。

范围:任意
@ExperimentalFoundationApi
Modifier.mouseClickable(
    enabled: Boolean,
    onClickLabel: String?,
    role: Role?,
    onClick: MouseClickScope.() -> Unit
)

创建类似于 Modifier.clickable 的修饰符,但提供有关按下按钮和键盘修饰符的附加上下文信息

范围:任意
@ExperimentalFoundationApi
Modifier.draggable2D(
    state: Draggable2DState,
    enabled: Boolean,
    interactionSource: MutableInteractionSource?,
    startDragImmediately: Boolean,
    onDragStarted: (startedPosition: Offset) -> Unit,
    onDragStopped: (velocity: Velocity) -> Unit,
    reverseDirection: Boolean
)

配置 UI 元素在两个方向上的触摸拖动。

范围:任意
Modifier.draggable(
    state: DraggableState,
    orientation: Orientation,
    enabled: Boolean,
    interactionSource: MutableInteractionSource?,
    startDragImmediately: Boolean,
    onDragStarted: suspend CoroutineScope.(startedPosition: Offset) -> Unit,
    onDragStopped: suspend CoroutineScope.(velocity: Float) -> Unit,
    reverseDirection: Boolean
)

配置 UI 元素在单个 Orientation 中的触摸拖动。

范围:任意

使用此修饰符将 selectable 项目(如选项卡或单选按钮)组合在一起以用于辅助功能。

范围:任意
Modifier.selectable(
    selected: Boolean,
    enabled: Boolean,
    role: Role?,
    onClick: () -> Unit
)

配置组件使其可选择,通常作为互斥组的一部分,在任何时间点只能选择一个项目。

范围:任意
Modifier.selectable(
    selected: Boolean,
    interactionSource: MutableInteractionSource?,
    indication: Indication?,
    enabled: Boolean,
    role: Role?,
    onClick: () -> Unit
)

配置组件使其可选择,通常作为互斥组的一部分,在任何时间点只能选择一个项目。

范围:任意
@ExperimentalMaterialApi
<T : Any?> Modifier. swipeable(
    state: SwipeableState<T>,
    anchors: Map<Float, T>,
    orientation: Orientation,
    enabled: Boolean,
    reverseDirection: Boolean,
    interactionSource: MutableInteractionSource?,
    thresholds: (from, to) -> ThresholdConfig,
    resistance: ResistanceConfig?,
    velocityThreshold: Dp
)

此函数已弃用。 Material 的 Swipeable 已被 Foundation 的 AnchoredDraggable API 替换。

范围:任意
@ExperimentalWearMaterialApi
<T : Any?> Modifier.swipeable(
    state: SwipeableState<T>,
    anchors: Map<Float, T>,
    orientation: Orientation,
    enabled: Boolean,
    reverseDirection: Boolean,
    interactionSource: MutableInteractionSource?,
    thresholds: (from, to) -> ThresholdConfig,
    resistance: ResistanceConfig?,
    velocityThreshold: Dp
)

启用在一组预定义状态之间滑动手势。

范围:任意
Modifier.toggleable(
    value: Boolean,
    enabled: Boolean,
    role: Role?,
    onValueChange: (Boolean) -> Unit
)

配置组件使其可通过输入和辅助功能事件切换。

范围:任意
Modifier.toggleable(
    value: Boolean,
    interactionSource: MutableInteractionSource?,
    indication: Indication?,
    enabled: Boolean,
    role: Role?,
    onValueChange: (Boolean) -> Unit
)

配置组件使其可通过输入和辅助功能事件切换。

范围:任意
Modifier.triStateToggleable(
    state: ToggleableState,
    enabled: Boolean,
    role: Role?,
    onClick: () -> Unit
)

配置组件使其可通过输入和辅助功能事件切换,具有三种状态:开、关和不确定。

范围:任意
Modifier.triStateToggleable(
    state: ToggleableState,
    interactionSource: MutableInteractionSource?,
    indication: Indication?,
    enabled: Boolean,
    role: Role?,
    onClick: () -> Unit
)

配置组件使其可通过输入和辅助功能事件切换,具有三种状态:开、关和不确定。

对齐方式

范围: RowScope

Row 中垂直对齐元素。

范围: RowScope
Modifier.alignBy(alignmentLineBlock: (Measured) -> Int)

垂直定位元素,以便由 alignmentLineBlock 确定的内容的对齐线与也配置为 alignBy 的同级元素对齐。

范围: RowScope

垂直放置元素,使其对齐线与也配置为alignBy的兄弟元素对齐。

范围: RowScope

垂直放置元素,使其第一条基线与也配置为alignByBaselinealignBy的兄弟元素对齐。

作用域: ColumnScope

Column中水平对齐元素。

作用域: ColumnScope
Modifier.alignBy(alignmentLineBlock: (Measured) -> Int)

水平放置元素,使其由alignmentLineBlock确定的内容对齐线与也配置为alignBy的兄弟元素对齐。

作用域: ColumnScope

水平放置元素,使其对齐线与也配置为alignBy的兄弟元素对齐。

作用域: BoxScope
Modifier.align(alignment: Alignment)

将内容元素拉到Alignment指定的特定位置,在Box中。

动画

Modifier.animateEnterExit(
    enter: EnterTransition,
    exit: ExitTransition,
    label: String
)

animateEnterExit修饰符可用于AnimatedVisibility的任何直接或间接子项,以创建与AnimatedVisibility中指定的不同的进入/退出动画。

作用域: LazyItemScope
Modifier.animateItem(
    fadeInSpec: FiniteAnimationSpec<Float>?,
    placementSpec: FiniteAnimationSpec<IntOffset>?,
    fadeOutSpec: FiniteAnimationSpec<Float>?
)

此修饰符会为项目的出现(淡入)、消失(淡出)和放置更改(例如项目重新排序)设置动画。

作用域: LazyItemScope

此函数已弃用。 请改用 Modifier.animateItem()

Modifier.animateItem(
    fadeInSpec: FiniteAnimationSpec<Float>?,
    placementSpec: FiniteAnimationSpec<IntOffset>?,
    fadeOutSpec: FiniteAnimationSpec<Float>?
)

此修饰符会为项目的出现(淡入)、消失(淡出)和放置更改(例如项目重新排序)设置动画。

此函数已弃用。 请改用 Modifier.animateItem()

边框

范围:任意
Modifier.border(border: BorderStroke, shape: Shape)

修改元素以添加边框,其外观由bordershape指定,并对其进行裁剪。

范围:任意
Modifier.border(width: Dp, brush: Brush, shape: Shape)

修改元素以添加边框,其外观由widthbrushshape指定,并对其进行裁剪。

范围:任意
Modifier.border(width: Dp, color: Color, shape: Shape)

修改元素以添加边框,其外观由widthcolorshape指定,并对其进行裁剪。

绘图

范围:任意
Modifier.alpha(alpha: Float)

绘制具有修改后的 alpha 的内容,该 alpha 可能小于 1。

范围:任意
Modifier.background(color: Color, shape: Shape)

在内容后面绘制具有纯色colorshape

范围:任意
Modifier.background(
    brush: Brush,
    shape: Shape,
    alpha: @FloatRange(from = 0.0, to = 1.0) Float
)

在内容后面绘制具有brushshape

范围:任意
Modifier.clip(shape: Shape)

将内容裁剪为shape

范围:任意

将内容裁剪到在此修饰符处定义的图层的边界。

范围:任意
Modifier.drawBehind(onDraw: DrawScope.() -> Unit)

在修改后的内容后面绘制到Canvas中。

范围:任意
Modifier.drawWithCache(onBuildDrawCache: CacheDrawScope.() -> DrawResult)

DrawScope中绘制内容,只要绘图区域的大小相同或读取的任何状态对象未更改,这些内容就会在绘制调用之间持续存在。

范围:任意

创建一个DrawModifier,允许开发人员在布局内容之前或之后进行绘制。

范围:任意
Modifier.indication(
    interactionSource: InteractionSource,
    indication: Indication?
)

当交互发生时,为该组件绘制视觉效果。

范围:任意
Modifier.paint(
    painter:Painter
    sizeToIntrinsics:Boolean
    alignment:Alignment
    contentScale:ContentScale
    alpha:Float
    colorFilter:ColorFilter?
)

使用 painter 绘制内容。

范围:任意
Modifier.shadow(
    elevation:Dp
    shape: Shape,
    clip:Boolean
    ambientColor:Color
    spotColor:Color
)

创建一个绘制阴影的 graphicsLayer

范围:任意

添加填充以适应 安全绘制 内边距。

范围:任意
Modifier.zIndex(zIndex:Float)

创建一个修饰符,用于控制同一布局父级子元素的绘制顺序。

焦点

范围:任意
Modifier.onFocusChanged(onFocusChanged:(FocusState) -> Unit)

将此修饰符添加到组件以观察焦点状态事件。

范围:任意
Modifier.onFocusEvent(onFocusEvent:(FocusState) -> Unit)

将此修饰符添加到组件以观察焦点状态事件。

范围:任意

此函数已弃用。 已由 focusTarget 替换

范围:任意

将此修饰符添加到组件以使其可聚焦。

范围:任意
Modifier. focusOrder(focusOrderReceiver:FocusOrder.() -> Unit)

此函数已弃用。 请改用 focusProperties()

范围:任意
Modifier. focusOrder(focusRequester:FocusRequester)

此函数已弃用。 请改用 focusRequester()

范围:任意
Modifier. focusOrder(
    focusRequester:FocusRequester
    focusOrderReceiver:FocusOrder.() -> Unit
)

此函数已弃用。 请改用 focusProperties() 和 focusRequester()

范围:任意

此修饰符允许您指定可供修饰符链中更下游的 focusTarget 或子布局节点访问的属性。

范围:任意

将此修饰符添加到组件以请求焦点更改。

范围:任意

此修饰符可用于保存和恢复焦点组的焦点。

范围:任意

创建一个焦点组或将此组件标记为焦点组。

范围:任意
Modifier.focusable(
    enabled: Boolean,
    interactionSource:MutableInteractionSource?
)

配置组件通过焦点系统或辅助功能“焦点”事件使其可聚焦。

范围:任意

每当当前焦点区域的边界发生变化时,都会调用 onPositioned

图形

范围:任意

一个使内容绘制到绘制图层的 Modifier.Node

范围:任意
Modifier.graphicsLayer(
    scaleX:Float
    scaleY:Float
    alpha:Float
    translationX:Float
    translationY:Float
    shadowElevation:Float
    rotationX:Float
    rotationY:Float
    rotationZ:Float
    cameraDistance:Float
    transformOrigin:TransformOrigin
    shape: Shape,
    clip:Boolean
    renderEffect:RenderEffect?,
    ambientShadowColor:Color
    spotShadowColor:Color
    compositingStrategy:CompositingStrategy
)

一个使内容绘制到绘制图层的 Modifier.Element

范围:任意

一个添加绘制图层的 Modifier.Element,以便工具可以识别绘制图像中的元素。

键盘

范围:任意
Modifier.onKeyEvent(onKeyEvent:(KeyEvent) -> Boolean)

将此 modifier 添加到组件的 modifier 参数,将允许它在自身(或其子元素之一)获得焦点时拦截硬件键盘事件。

范围:任意
Modifier.onPreviewKeyEvent(onPreviewKeyEvent:(KeyEvent) -> Boolean)

将此 modifier 添加到组件的 modifier 参数,将允许它在自身(或其子元素之一)获得焦点时拦截硬件键盘事件。

布局

范围:任意
Modifier.layoutId(layoutId:String,tag:String?)

替代 androidx.compose.ui.layout.layoutId,它允许使用 tag

范围:任意
Modifier.layoutId(layoutId:Any)

使用 layoutId 标记元素以在其父级中识别该元素。

范围:任意

创建一个 LayoutModifier,它允许更改包装元素的测量和布局方式。

范围:任意
Modifier.onGloballyPositioned(
    onGloballyPositioned:(LayoutCoordinates) -> Unit
)

当内容的全局位置可能发生变化时,使用元素的onGloballyPositioned调用LayoutCoordinates

填充

范围:任意
Modifier.paddingFrom(alignmentLine: AlignmentLine, before: Dp, after: Dp)

一个Modifier,可以根据指定距离从其边界到对齐线添加填充以定位内容。

范围:任意
Modifier.paddingFrom(
    alignmentLine: AlignmentLine,
    before: TextUnit,
    after: TextUnit
)

一个Modifier,可以根据指定距离从其边界到对齐线添加填充以定位内容。

范围:任意
Modifier.paddingFromBaseline(top: Dp, bottom: Dp)

一个Modifier,它将内容放置在布局中,使得从布局顶部到内容中第一行文本的基线的距离为top,并且从内容中最后一行文本的基线到布局底部的距离为bottom

范围:任意

一个Modifier,它将内容放置在布局中,使得从布局顶部到内容中第一行文本的基线的距离为top,并且从内容中最后一行文本的基线到布局底部的距离为bottom

范围:任意
Modifier.absolutePadding(left: Dp, top: Dp, right: Dp, bottom: Dp)

Dp的形式在内容的每个边缘应用额外的空间:lefttoprightbottom

范围:任意

在内容的每个边缘(左、上、右和下)应用all dp 的额外空间。

范围:任意
Modifier.padding(paddingValues: PaddingValues)

PaddingValues应用于组件,作为内容左、上、右和下每个边缘的额外空间。

范围:任意
Modifier.padding(horizontal: Dp, vertical: Dp)

在内容的左右边缘应用horizontal dp 空间,在内容的上下边缘应用vertical dp 空间。

范围:任意
Modifier.padding(start: Dp, top: Dp, end: Dp, bottom: Dp)

Dp的形式在内容的每个边缘应用额外的空间:starttopendbottom

范围:任意

添加填充以适应标题栏内边距。

范围:任意

添加填充以适应显示切口

范围:任意

添加填充以适应输入法编辑器内边距。

范围:任意

添加填充以适应强制系统手势内边距。

范围:任意

添加填充以适应导航栏内边距。

范围:任意

添加填充以适应安全内容内边距。

范围:任意

添加填充以适应安全手势内边距。

范围:任意

添加填充以适应状态栏内边距。

范围:任意

添加填充以适应系统栏内边距。

范围:任意

添加填充以适应系统手势内边距。

范围:任意

添加填充以适应瀑布内边距。

范围:任意

添加填充,以便内容不会进入insets空间。

指针

范围:任意
Modifier.pointerHoverIcon(
    icon: PointerIcon,
    overrideDescendants: Boolean
)

允许开发人员定义一个指针图标,当光标悬停在元素上时显示。

范围:任意
@ExperimentalComposeUiApi
Modifier.pointerInteropFilter(
    requestDisallowInterceptTouchEvent: RequestDisallowInterceptTouchEvent?,
    onTouchEvent: (MotionEvent) -> Boolean
)

一个特殊的 PointerInputModifier,提供对最初分派到 Compose 的底层MotionEvent的访问。

范围:任意
@ExperimentalComposeUiApi
Modifier.pointerMoveFilter(
    onMove: (position: Offset) -> Boolean,
    onExit: () -> Boolean,
    onEnter: () -> Boolean
)

允许跟踪指针(例如鼠标或触控板)移动事件的修饰符。

范围:任意
Modifier. pointerInput(block: suspend PointerInputScope.() -> Unit)

此函数已弃用。 Modifier.pointerInput 必须提供一个或多个“键”参数,这些参数定义修饰符的身份,并确定何时取消其先前的输入处理协程并为新键启动新的效果。

范围:任意
Modifier.pointerInput(key1: Any?, block: suspend PointerInputScope.() -> Unit)

创建一个修饰符,用于处理修改元素区域内的指针输入。

范围:任意
Modifier.pointerInput(vararg keys: Any?, block: suspend PointerInputScope.() -> Unit)

创建一个修饰符,用于处理修改元素区域内的指针输入。

范围:任意
Modifier.pointerInput(key1: Any?, key2: Any?, block: suspend PointerInputScope.() -> Unit)

创建一个修饰符,用于处理修改元素区域内的指针输入。

位置

范围:任意

将内容偏移 offset px。

范围:任意

将内容偏移 (x dp, y dp)。

范围:任意
Modifier.offset(offset: Density.() -> IntOffset)

将内容偏移 offset px。

范围:任意
Modifier.offset(x: Dp, y: Dp)

将内容偏移 (x dp, y dp)。

范围: TabRowDefaults
Modifier.tabIndicatorOffset(currentTabPosition: TabPosition)

Modifier 占用 TabRow 内的所有可用宽度,然后根据 currentTabPosition 对其应用的指示器的偏移量进行动画处理。

范围: TabRowDefaults
Modifier.tabIndicatorOffset(currentTabPosition: TabPosition)

Modifier 占用 TabRow 内的所有可用宽度,然后根据 currentTabPosition 对其应用的指示器的偏移量进行动画处理。

语义

范围:任意

包含用于不确定进度指示器的 semantics,表示正在进行的操作。

范围:任意
Modifier.progressSemantics(
    value: Float,
    valueRange: ClosedFloatingPointRange<Float>,
    steps: @IntRange(from = 0) Int
)

包含用于确定性进度指示器或滑块的进度部分的 semantics,表示 valueRange 内的进度。

范围:任意
Modifier.rangeSemantics(
    value: Float,
    enabled: Boolean,
    onValueChange: (Float) -> Unit,
    valueRange: ClosedFloatingPointRange<Float>,
    steps: Int
)

添加语义以表示步进器/滑块进度的修饰符。

范围:任意

清除所有后代节点的语义并设置新的语义。

范围:任意
Modifier.semantics(mergeDescendants: Boolean, properties: SemanticsPropertyReceiver.() -> Unit)

向布局节点添加语义键/值对,用于测试、辅助功能等。

滚动

范围:任意

在主轴上裁剪可滚动容器的边界,同时在交叉轴上为背景效果(如阴影)保留空间。

范围:任意
Modifier. mouseScrollFilter(
    onMouseScroll: (event: MouseScrollEvent, bounds: IntSize) -> Boolean
)

此函数已弃用。 使用 Modifier.pointerInput + PointerEventType.Scroll

范围:任意
Modifier.nestedScroll(
    connection: NestedScrollConnection,
    dispatcher: NestedScrollDispatcher?
)

修改元素使其参与嵌套滚动层次结构。

范围:任意

从提供的 overscrollEffect 渲染过度滚动。

范围:任意
Modifier.onPreRotaryScrollEvent(
    onPreRotaryScrollEvent: (RotaryScrollEvent) -> Boolean
)

将此 modifier 添加到组件的 modifier 参数,将允许它拦截 RotaryScrollEvent(如果它或其子级处于焦点状态)。

范围:任意
Modifier.onRotaryScrollEvent(
    onRotaryScrollEvent: (RotaryScrollEvent) -> Boolean
)

将此 modifier 添加到组件的 modifier 参数,将允许它拦截 RotaryScrollEvent(如果它或其子级处于焦点状态)。

范围:任意
Modifier.rotaryScrollable(
    behavior: RotaryScrollableBehavior,
    focusRequester:FocusRequester
    reverseDirection: Boolean
)

一个修饰符,用于将旋转事件与可滚动的容器(如 Column、LazyList 等)连接起来。

范围:任意
Modifier.scrollAway(scrollState: ScrollState, offset: Dp)

根据 ScrollState,垂直滚动某个条目进出视图。

范围:任意
Modifier.scrollAway(
    scrollState: LazyListState,
    itemIndex: Int,
    offset: Dp
)

根据 LazyListState,垂直滚动某个条目进出视图。

范围:任意
Modifier.scrollAway(
    scrollState: ScalingLazyListState,
    itemIndex: Int,
    offset: Dp
)

根据 ScalingLazyListState,垂直滚动某个条目进出视图。

范围:任意
Modifier. scrollAway(
    scrollState: ScalingLazyListState,
    itemIndex: Int,
    offset: Dp
)

此函数已弃用。 此重载为了与 Compose for Wear OS 1.1 保持向后兼容性。现在可以使用 wear.compose.foundation.lazy 包中的 ScalingLazyListState 的新重载。

范围:任意
Modifier.horizontalScroll(
    state: ScrollState,
    enabled: Boolean,
    flingBehavior: FlingBehavior?,
    reverseScrolling: Boolean
)

修改元素以允许在内容宽度大于最大约束允许时水平滚动。

范围:任意
Modifier.verticalScroll(
    state: ScrollState,
    enabled: Boolean,
    flingBehavior: FlingBehavior?,
    reverseScrolling: Boolean
)

修改元素以允许在内容高度大于最大约束允许时垂直滚动。

范围:任意
Modifier.scrollable(
    state: ScrollableState,
    orientation: Orientation,
    enabled: Boolean,
    reverseDirection: Boolean,
    flingBehavior: FlingBehavior?,
    interactionSource:MutableInteractionSource?
)

在单个 Orientation 中配置 UI 元素的触摸滚动和抛掷。

范围:任意
@ExperimentalFoundationApi
Modifier.scrollable(
    state: ScrollableState,
    orientation: Orientation,
    overscrollEffect: OverscrollEffect?,
    enabled: Boolean,
    reverseDirection: Boolean,
    flingBehavior: FlingBehavior?,
    interactionSource: MutableInteractionSource?,
    bringIntoViewSpec: BringIntoViewSpec?
)

在单个 Orientation 中配置 UI 元素的触摸滚动和抛掷。

范围:任意
@ExperimentalTvFoundationApi
Modifier. scrollableWithPivot(
    state: ScrollableState,
    orientation: Orientation,
    pivotOffsets: PivotOffsets,
    enabled: Boolean,
    reverseDirection: Boolean
)

此函数已弃用。 scrollableWithPivot 已弃用。

范围:任意

在 Android R 及更高版本上,将软键盘控制为嵌套滚动。

尺寸

范围:任意
Modifier.animateContentSize(
    animationSpec: FiniteAnimationSpec<IntSize>,
    finishedListener: ((initialValue: IntSize, targetValue: IntSize) -> Unit)?
)

当子修饰符(或如果它已位于链的末尾,则为子可组合项)的大小发生变化时,此修饰符会对其自身的大小进行动画处理。

范围:任意
Modifier.animateContentSize(
    animationSpec: FiniteAnimationSpec<IntSize>,
    alignment:Alignment
    finishedListener: ((initialValue: IntSize, targetValue: IntSize) -> Unit)?
)

当子修饰符(或如果它已位于链的末尾,则为子可组合项)的大小发生变化时,此修饰符会对其自身的大小进行动画处理。

范围:任意
Modifier.aspectRatio(
    ratio: @FloatRange(from = 0.0, fromInclusive = false) Float,
    matchHeightConstraintsFirst: Boolean
)

尝试通过以下顺序尝试匹配传入的约束之一来调整内容大小以匹配指定的纵横比:Constraints.maxWidthConstraints.maxHeightConstraints.minWidthConstraints.minHeight(如果 matchHeightConstraintsFirstfalse(默认为 false)),或者 Constraints.maxHeightConstraints.maxWidthConstraints.minHeightConstraints.minWidth(如果 matchHeightConstraintsFirsttrue)。

范围:任意

如果元素的测量尺寸较小,则保留至少 48.dp 的尺寸以消除触摸交互的歧义。

范围:任意

如果元素的测量尺寸较小,则保留至少 48.dp 的尺寸以消除触摸交互的歧义。

范围:任意

如果元素的测量尺寸较小,则保留至少 48.dp 的尺寸以消除触摸交互的歧义。

范围:任意

如果元素的测量尺寸较小,则保留至少 48.dp 的尺寸以消除触摸交互的歧义。

范围:任意
Modifier.height(intrinsicSize: IntrinsicSize)

声明内容的首选高度与内容的最小或最大固有高度相同。

范围:任意

声明内容的高度与内容的最小或最大固有高度完全相同。

范围:任意

声明内容的宽度与内容的最小或最大固有宽度完全相同。

范围:任意
Modifier.width(intrinsicSize: IntrinsicSize)

声明内容的首选宽度与内容的最小或最大固有宽度相同。

范围:任意
Modifier.onSizeChanged(onSizeChanged: (IntSize) -> Unit)

在首次测量元素或元素大小发生变化时,使用修改后的 Compose UI 元素的大小调用。

范围:任意
Modifier.defaultMinSize(minWidth: Dp, minHeight: Dp)

仅当包装布局未受到约束时才约束其大小:当传入的对应约束为 0 时,才会应用 minWidthminHeight 约束。

范围:任意
Modifier.fillMaxHeight(fraction: @FloatRange(from = 0.0, to = 1.0) Float)

使内容填充传入测量约束的 Constraints.maxHeight(可能仅部分填充),通过将 最小高度最大高度 设置为 最大高度 乘以 fraction

范围:任意
Modifier.fillMaxSize(fraction: @FloatRange(from = 0.0, to = 1.0) Float)

使内容填充传入测量约束的 Constraints.maxWidthConstraints.maxHeight(可能仅部分填充),通过将 最小宽度最大宽度 设置为 最大宽度 乘以 fraction,以及将 最小高度最大高度 设置为 最大高度 乘以 fraction

范围:任意
Modifier.fillMaxWidth(fraction: @FloatRange(from = 0.0, to = 1.0) Float)

使内容填充传入测量约束的 Constraints.maxWidth(可能仅部分填充),通过将 最小宽度最大宽度 设置为 最大宽度 乘以 fraction

范围:任意
Modifier.height(height: Dp)

声明内容的首选高度正好为 heightdp。

范围:任意
Modifier.heightIn(min: Dp, max: Dp)

将内容的高度限制在传入测量 Constraints 允许的 mindp 和 maxdp 之间。

范围:任意

声明内容的高度正好为 heightdp。

范围:任意
Modifier.requiredHeightIn(min: Dp, max: Dp)

将内容的高度限制在 mindp 和 maxdp 之间。

范围:任意

声明内容的大小正好为 sizedp 的宽度和高度。

范围:任意

声明内容的大小正好为 size

范围:任意
Modifier.requiredSize(width: Dp, height: Dp)

声明内容的大小正好为 widthdp 和 heightdp。

范围:任意
Modifier.requiredSizeIn(
    minWidth: Dp,
    minHeight: Dp,
    maxWidth: Dp,
    maxHeight: Dp
)

将内容的宽度限制在 minWidthdp 和 maxWidthdp 之间,并将内容的高度限制在 minHeightdp 和 maxHeightdp 之间。

范围:任意

声明内容的宽度正好为 widthdp。

范围:任意
Modifier.requiredWidthIn(min: Dp, max: Dp)

将内容的宽度限制在 mindp 和 maxdp 之间。

范围:任意
Modifier.size(size: Dp)

声明内容的首选大小正好为 sizedp 的正方形。

范围:任意
Modifier.size(size: DpSize)

声明内容的首选大小正好为 size

范围:任意
Modifier.size(width: Dp, height: Dp)

声明内容的首选大小正好为 widthdp x heightdp。

范围:任意
Modifier.sizeIn(minWidth: Dp, minHeight: Dp, maxWidth: Dp, maxHeight: Dp)

将内容的宽度限制在传入测量 Constraints 允许的 minWidthdp 和 maxWidthdp 之间,并将内容的高度限制在 minHeightdp 和 maxHeightdp 之间。

范围:任意
Modifier.width(width: Dp)

声明内容的首选宽度正好为 widthdp。

范围:任意
Modifier.widthIn(min: Dp, max: Dp)

将内容的宽度限制在 mindp 和 maxdp 之间,前提是传入的测量 Constraints 允许。

范围:任意
Modifier.wrapContentHeight(
    align: Alignment.Vertical,
    unbounded: Boolean
)

允许内容根据其所需高度进行测量,而无需考虑传入的测量 最小高度约束,并且,如果 unbounded 为 true,则也不考虑传入的测量 最大高度约束

范围:任意
Modifier.wrapContentSize(align: Alignment, unbounded: Boolean)

允许内容根据其所需尺寸进行测量,而无需考虑传入的测量 最小宽度最小高度 约束,并且,如果 unbounded 为 true,则也不考虑传入的最大约束。

范围:任意
Modifier.wrapContentWidth(
    align: Alignment.Horizontal,
    unbounded: Boolean
)

允许内容根据其所需宽度进行测量,而无需考虑传入的测量 最小宽度约束,并且,如果 unbounded 为 true,则也不考虑传入的测量 最大宽度约束

范围:任意

用于为 IconButton 和 TextButton 设置大小和推荐触摸目标的 Modifier。

范围:任意

将高度设置为屏幕 底部insets 的高度。

范围:任意

将宽度设置为屏幕 末端insets 的宽度,使用 左侧右侧,具体取决于 LayoutDirection

范围:任意

将宽度设置为屏幕 起始端insets 的宽度,使用 左侧右侧,具体取决于 LayoutDirection

范围:任意

将高度设置为屏幕 顶部insets 的高度。

范围: RowScope
Modifier.weight(
    weight: @FloatRange(from = 0.0, fromInclusive = false) Float,
    fill: Boolean
)

根据元素相对于 Row 中其他加权兄弟元素的 weight,调整元素的宽度。

作用域: ColumnScope
Modifier.weight(
    weight: @FloatRange(from = 0.0, fromInclusive = false) Float,
    fill: Boolean
)

根据元素相对于 Column 中其他加权兄弟元素的 weight,调整元素的高度。

作用域: BoxScope

在所有其他内容元素测量完成后,调整元素的大小以匹配 Box 的大小。

作用域: LazyItemScope
Modifier.fillParentMaxHeight(
    fraction: @FloatRange(from = 0.0, to = 1.0) Float
)

通过将 最小高度 设置为等于 最大高度 乘以 fraction,使内容填充传入的测量约束的 Constraints.maxHeight

作用域: LazyItemScope
Modifier.fillParentMaxSize(
    fraction: @FloatRange(from = 0.0, to = 1.0) Float
)

通过将 最小宽度 设置为等于 最大宽度 乘以 fraction,以及将 最小高度 设置为等于 最大高度 乘以 fraction,使内容填充父级测量约束的 Constraints.maxWidthConstraints.maxHeight

作用域: LazyItemScope
Modifier.fillParentMaxWidth(
    fraction: @FloatRange(from = 0.0, to = 1.0) Float
)

通过将 最小宽度 设置为等于 最大宽度 乘以 fraction,使内容填充父级测量约束的 Constraints.maxWidth

抽象
Modifier.exposedDropdownSize(matchTextFieldWidth: Boolean)

应用于作用域内放置的 ExposedDropdownMenu 的 Modifier。

抽象
Modifier.exposedDropdownSize(matchTextFieldWidth: Boolean)

应用于放置在 ExposedDropdownMenuBoxScope 内的菜单的 Modifier。

测试

范围:任意

应用标签以允许在测试中找到修改后的元素。

转换

范围:任意
Modifier.rotate(degrees: Float)

设置可组合项的中心旋转的度数。

范围:任意
Modifier.scale(scale: Float)

沿水平和垂直轴均匀地按相同的缩放因子缩放内容。

范围:任意
Modifier.scale(scaleX: Float, scaleY: Float)

分别沿水平和垂直轴按以下缩放因子缩放可组合项的内容。

范围:任意
Modifier.transformable(
    状态:TransformableState
    lockRotationOnZoomPan:Boolean
    enabled:Boolean
)

启用修改后的 UI 元素的变换手势。

范围:任意
@ExperimentalFoundationApi
Modifier.transformable
    状态:TransformableState
    canPan:(Offset) -> Boolean
    lockRotationOnZoomPan:Boolean
    enabled:Boolean
)

启用修改后的 UI 元素的变换手势。

其他

范围:任意

一个 Modifier,允许其应用到的元素被视为拖放操作的源。

范围:任意
Modifier.basicMarquee
    iterations:Int
    animationMode:MarqueeAnimationMode
    repeatDelayMillis:Int
    initialDelayMillis:Int
    spacing:MarqueeSpacing
    velocity:Dp
)

如果修改后的内容太宽而无法适应可用空间,则应用动画跑马灯效果。

范围:任意
Modifier.edgeSwipeToDismiss
    swipeToDismissBoxState:SwipeToDismissBoxState
    edgeWidth:Dp
)

仅限于从视口边缘开始激活滑动以关闭。

范围:任意
Modifier.blur(radius:Dp,edgeTreatment:BlurredEdgeTreatment)

使用指定的半径绘制模糊内容。

范围:任意
Modifier.blur
    radiusX:Dp
    radiusY:Dp
    edgeTreatment:BlurredEdgeTreatment
)

使用指定的半径绘制模糊内容。

范围:任意

可以用来发送 scrollIntoView 请求的 Modifier。

范围:任意

可以响应其子元素的 BringIntoViewRequester 请求,并滚动以使项目在屏幕上可见的父级。

范围:任意
Modifier.composed
    inspectorInfo:InspectorInfo.() -> Unit
    factory:@Composable Modifier.() -> Modifier
)

声明一个 Modifier 的即时组合,该组合将为其修改的每个元素进行组合。

范围:任意
@ExperimentalComposeUiApi
Modifier.composed
    fullyQualifiedName:String
    key1:Any?,
    inspectorInfo:InspectorInfo.() -> Unit
    factory:@Composable Modifier.() -> Modifier
)

声明一个 Modifier 的即时组合,该组合将为其修改的每个元素进行组合。

范围:任意
@ExperimentalComposeUiApi
Modifier.composed
    fullyQualifiedName:String
    vararg keys:Any?,
    inspectorInfo:InspectorInfo.() -> Unit
    factory:@Composable Modifier.() -> Modifier
)

声明一个 Modifier 的即时组合,该组合将为其修改的每个元素进行组合。

范围:任意
@ExperimentalComposeUiApi
Modifier.composed
    fullyQualifiedName:String
    key1:Any?,
    key2:Any?,
    inspectorInfo:InspectorInfo.() -> Unit
    factory:@Composable Modifier.() -> Modifier
)

声明一个 Modifier 的即时组合,该组合将为其修改的每个元素进行组合。

范围:任意
@ExperimentalComposeUiApi
Modifier.composed
    fullyQualifiedName:String
    key1:Any?,
    key2:Any?,
    key3:Any?,
    inspectorInfo:InspectorInfo.() -> Unit
    factory:@Composable Modifier.() -> Modifier
)

声明一个 Modifier 的即时组合,该组合将为其修改的每个元素进行组合。

范围:任意
@ExperimentalFoundationApi
Modifier.dragAndDropSource
    drawDragDecoration:DrawScope.() -> Unit
    block:suspend DragAndDropSourceScope.() -> Unit
)

一个 Modifier,允许其应用到的元素被视为拖放操作的源。

范围:任意
@ExperimentalFoundationApi
Modifier.dragAndDropTarget
    shouldStartDragAndDrop:(startEvent:DragAndDropEvent) -> Boolean
    target:DragAndDropTarget
)

允许接收拖放手势的 Modifier。

范围:任意

**此函数已弃用。** 使用 systemGestureExclusion

范围:任意

**此函数已弃用。** 使用 systemGestureExclusion

范围:任意
Modifier.handwritingDetector(callback:() -> Unit)

配置元素以充当手写检测器,该检测器检测手写笔手写并委托识别文本的处理到另一个元素。

范围:任意

配置元素以充当手写笔手写处理程序,该处理程序可以处理由手写笔手写检测器上的手写笔手写触发的书写会话中的文本输入。

范围:任意
Modifier.hoverable
    interactionSource:MutableInteractionSource
    enabled:Boolean
)

配置组件可以通过指针进入/退出事件进行悬停。

范围:任意
内联
Modifier. inspectable
    noinline inspectorInfo:InspectorInfo.() -> Unit
    factory:Modifier.() -> Modifier
)

**此函数已弃用。** 此 API 将比必要时创建更多 Modifier 的失效,因此不建议使用。

范围:任意
Modifier.approachLayout
    isMeasurementApproachInProgress:(lookaheadSize:IntSize) -> Boolean
    isPlacementApproachInProgress:Placeable.PlacementScope.(lookaheadCoordinates:LayoutCoordinates) -> Boolean
    approachMeasure:ApproachMeasureScope.(measurable:Measurable,constraints:Constraints) -> MeasureResult
)

创建一个旨在帮助逐渐接近在预读传递中计算出的目标布局的预读布局。

范围:任意
Modifier.magnifier
    sourceCenter:Density.() -> Offset
    magnifierCenter:(Density.() -> Offset)?,
    onSizeChanged:((DpSize) -> Unit)?,


    缩放: Float
    大小: DpSize
    圆角: Dp
    elevation:Dp
    裁剪: Boolean
)

显示一个 Magnifier 组件,该组件显示内容在 sourceCenter 相对于当前布局节点的放大版本。

范围:任意

一个 Modifier,可用于使用由此 Modifier 左侧的其他 Modifier 或布局树中此 Modifier 上方的其他 Modifier 提供的 ModifierLocal

范围:任意
@ExperimentalComposeUiApi
<T : Any?> Modifier.modifierLocalProvider(
    key: ProvidableModifierLocal<T>,
    value: () -> T
)

一个 Modifier,可用于提供 ModifierLocal,这些 ModifierLocal 可以被此 Modifier 右侧的其他 Modifier 或此 Modifier 附加到的布局节点的子 Modifier 读取。

范围:任意

在父 LayoutModifier 和父布局放置后以及子 LayoutModifier 放置之前调用 onPlaced

范围:任意
@ExperimentalWearMaterialApi
@Composable
Modifier.placeholder(
    placeholderState: PlaceholderState
    shape: Shape,
    color: Color
)

在可组合项的顶部绘制一个占位符形状,并动画化擦除效果以移除占位符。

范围:任意
@ExperimentalWearMaterialApi
@Composable
Modifier.placeholderShimmer(
    placeholderState: PlaceholderState
    shape: Shape,
    color: Color
)

用于在组件上绘制占位符闪烁的 Modifier。

范围:任意

使用布局区域或任何子 pointerInput 接收到的每个 MotionEvent 调用 watcher

范围:任意

将布局矩形标记为优先保持远离浮动窗口。

范围:任意

标记本地布局坐标内的矩形,优先保持远离浮动窗口。

范围:任意

一个 Modifier,用于根据给定的 PullRefreshState 转换下拉刷新指示器的位移和缩放大小。

范围:任意

一个嵌套滚动 Modifier,它将滚动事件提供给 state

范围:任意
@ExperimentalMaterialApi
Modifier.pullRefresh(
    onPull: (pullDelta: Float) -> Float
    onRelease: suspend (flingVelocity: Float) -> Float
    enabled:Boolean
)

一个嵌套滚动 Modifier,它提供 onPullonRelease 回调以帮助构建自定义下拉刷新组件。

范围:任意
@ExperimentalMaterial3Api
Modifier.pullToRefresh(
    isRefreshing: Boolean
    state: PullToRefreshState
    enabled: Boolean,
    threshold: Dp
    onRefresh: () -> Unit
)

一个 Modifier,它向容器添加嵌套滚动以支持下拉刷新手势。

范围:任意
@ExperimentalMaterial3Api
Modifier.pullToRefreshIndicator(
    state: PullToRefreshState
    isRefreshing: Boolean
    threshold: Dp
    shape: Shape,
    containerColor: Color
    elevation: Dp
)

一个 Modifier,它处理下拉刷新指示器的大小、偏移量、裁剪、阴影和背景绘制,在实现自定义指示器时很有用。

范围:任意

将当前节点和任何子节点配置为内容接收器。

范围:任意
@ExperimentalComposeUiApi
Modifier.onInterceptKeyBeforeSoftKeyboard(
    onInterceptKeyBeforeSoftKeyboard: (KeyEvent) -> Boolean
)

将此 modifier 添加到组件的 modifier 参数,将允许它在硬件键盘事件发送到软件键盘之前拦截这些事件。

范围:任意
@ExperimentalComposeUiApi
Modifier.onPreInterceptKeyBeforeSoftKeyboard(
    onPreInterceptKeyBeforeSoftKeyboard: (KeyEvent) -> Boolean
)

将此 modifier 添加到组件的 modifier 参数,将允许它在硬件键盘事件发送到软件键盘之前拦截这些事件。

范围:任意
Modifier. edgeSwipeToDismiss(
    swipeToDismissBoxState: SwipeToDismissBoxState
    edgeWidth:Dp
)

此函数已弃用。SwipeToDismiss 已迁移到 androidx.wear.compose.foundation。

范围:任意

将布局矩形从系统手势中排除。

范围:任意

将本地布局坐标内的矩形从系统手势中排除。

范围:任意

使用其他 insets Modifier 尚未使用的内边距,类似于 windowInsetsPadding,但不添加任何填充。

范围:任意

paddingValues 作为内边距使用,就像填充已添加且与内边距无关一样。

范围:任意
Modifier.onConsumedWindowInsetsChanged(
    block: (consumedWindowInsets: WindowInsets) -> Unit
)

使用已使用的 WindowInsets 调用 block,这些内边距可能是由 consumeWindowInsets 或其中一个填充 Modifier(如 imePadding)使用的。

范围: TooltipBoxScope

Modifier 应该应用于锚定可组合项,当希望在长按锚定可组合项后显示工具提示时。

此函数已弃用。使用带 MenuAnchorType 和 enabled 参数的重载

抽象

应应用于 ExposedDropdownMenuBoxScope 内部的元素(通常是文本字段或文本字段内的图标)的 Modifier。