Compose 修飾符清單

動作

範圍:任何
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)?
)

設定元件以接收輸入性質的點按、按兩下和長按,或是無障礙功能的「點擊」事件。

範圍:任何
Modifier.draggable(
    state: DraggableState,
    orientation: Orientation,
    enabled: Boolean,
    interactionSource: MutableInteractionSource?,
    startDragImmediately: Boolean,
    onDragStarted: (@ExtensionFunctionType suspend CoroutineScope.(startedPosition: Offset) -> Unit)?,
    onDragStopped: (@ExtensionFunctionType suspend CoroutineScope.(velocity: Float) -> Unit)?,
    reverseDirection: Boolean
)

為單一 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: (Mutable)Map<Float, T>,
    orientation: Orientation,
    enabled: Boolean,
    reverseDirection: Boolean,
    interactionSource: MutableInteractionSource?,
    thresholds: ((from, to) -> ThresholdConfig)?,
    resistance: ResistanceConfig?,
    velocityThreshold: Dp
)

在一組預先定義的狀態之間啟用滑動手勢。

範圍:任何
@ExperimentalWearMaterialApi
<T : Any?> Modifier.swipeable(
    state: SwipeableState<T>,
    anchors: (Mutable)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)?
)

將元件設定為可透過輸入和無障礙事件進行三種狀態的切換:「開啟」、「關閉」和「不確定」。

對齊方式

範圍: BoxScope
Modifier.align(alignment: Alignment)

將內容元素置入到 Box 中的特定 Alignment

範圍: RowScope

Row 中垂直對齊元素。

範圍: RowScope

垂直放置元素,讓其 alignmentLine 與同樣設定為 alignBy 的同層級元素對齊。

範圍: RowScope
Modifier.alignBy(alignmentLineBlock: ((Measured) -> Int)?)

垂直放置元素,讓 alignmentLineBlock 決定的內容的對齊線和同樣設定為 alignBy 的同層級元素對齊。

範圍: RowScope

垂直放置元素,讓第一個基準和同樣設定為 alignByBaselinealignBy 的同層級元素對齊。

範圍: ColumnScope

Column 中水平對齊元素。

範圍: ColumnScope

水平放置元素,讓其 alignmentLine 和同樣設定為 alignBy 的同層級元素對齊。

範圍: ColumnScope
Modifier.alignBy(alignmentLineBlock: ((Measured) -> Int)?)

水平放置元素,讓 alignmentLineBlock 決定的內容對齊線和同樣設定為 alignBy 的同層級元素對齊。

動畫

範圍: LazyItemScope
@ExperimentalFoundationApi

這個修飾符會為在 Lazy 清單中的項目建立動畫。

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

animateEnterExit 修飾符可用於 AnimatedVisibility 的任何直接或間接子項,建立與 AnimatedVisibility 中所指定不同的進入/結束動畫。

框線

範圍:任何
Modifier.border(border: BorderStroke, shape: Shape)

修改元素以新增使用 bordershape 指定的外觀框線,並進行裁剪。

範圍:任何
Modifier.border(width: Dp, color: Color, shape: Shape)

修改元素以新增使用 widthcolorshape 指定的外觀框線,並進行裁剪。

範圍:任何
Modifier.border(width: Dp, brush: Brush, shape: Shape)

修改元素以新增使用 widthbrushshape 指定的外觀框線,並進行裁剪。

繪圖

範圍:任何
Modifier.alpha(alpha: Float)

繪製修改 alpha 值可能小於 1 的內容。

範圍:任何
Modifier.background(color: Color, shape: Shape)

在內容下方使用單色 color 繪製 shape

範圍:任何
Modifier.background(brush: Brush, shape: Shape, alpha: Float)

在內容下方使用 brush 繪製 shape

範圍:任何
Modifier.clip(shape: Shape)

配合 shape 的邊界裁剪內容。

範圍:任何

根據此修飾符定義的圖層邊界來裁剪內容。

範圍:任何

繪入經過修改內容下方的 Canvas 中。

範圍:任何
Modifier.drawWithCache(
    onBuildDrawCache: (@ExtensionFunctionType 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 和 spotColor 參數的陰影

範圍:任何
Modifier.shadow(
    elevation: Dp,
    shape: Shape,
    clip: Boolean,
    ambientColor: Color,
    spotColor: Color
)

建立繪製陰影的 graphicsLayer

範圍:任何

加上邊框間距以調整 safe drawing 的插邊。

範圍:任何
Modifier.zIndex(zIndex: Float)

建立修飾符,以控制具有相同版面配置父項的子項繪製順序。

焦點

範圍:任何
Modifier.onFocusChanged(onFocusChanged: ((FocusState) -> Unit)?)

對元件新增此修飾符以觀察焦點狀態事件。

範圍:任何
Modifier.onFocusEvent(onFocusEvent: ((FocusState) -> Unit)?)

對元件新增此修飾符以觀察焦點狀態事件。

範圍:任何

此函式已淘汰不用。已由 focusTarget 取代

範圍:任何

對元件新增此修飾符使其可成為焦點。

範圍:任何
Modifier.focusOrder(
    focusOrderReceiver: (@ExtensionFunctionType FocusOrder.() -> Unit)?
)

此函式已淘汰不用。改用 focusProperties()

範圍:任何
Modifier.focusOrder(focusRequester: FocusRequester)

此函式已淘汰不用。改用 focusRequster()

範圍:任何
Modifier.focusOrder(
    focusRequester: FocusRequester,
    focusOrderReceiver: (@ExtensionFunctionType FocusOrder.() -> Unit)?
)

此函式已淘汰不用。改用 focusProperties() 和 focusRequester()。

範圍:任何

這個修飾符可讓您指定屬性,讓修飾符鏈之下或子版面配置節點上的 focusTarget 存取。

範圍:任何

在元件中加入這個修飾符,用來要求變更焦點。

範圍:任何
@ExperimentalFoundationApi

建立焦點群組或將此元件標示為焦點群組。

範圍:任何
Modifier.focusable(
    enabled: Boolean,
    interactionSource: MutableInteractionSource?
)

將元件設定為可透過焦點系統或無障礙的「焦點」事件成為可聚焦。

範圍:任何
@ExperimentalFoundationApi
Modifier.onFocusedBoundsChanged(
    onPositioned: ((LayoutCoordinates?) -> Unit)?
)

當目前焦點區域的邊界變更時呼叫 onPositioned

圖像

範圍:任何
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 參數和陰影色彩參數的 graphicLayer

範圍:任何
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?
)

此函式已淘汰不用。替換為會套用陰影色彩參數的 graphicLayer

範圍:任何
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
)

Modifier.Element 可讓內容繪製到繪圖圖層中。

範圍:任何

Modifier.Element 可讓內容繪製到繪圖圖層中。

範圍:任何

Modifier.Element 可新增繪圖圖層,讓工具能夠識別已繪製圖片中的元素。

鍵盤

範圍:任何
Modifier.onKeyEvent(onKeyEvent: ((KeyEvent) -> Boolean)?)

將這個 modifier 新增至元件的 modifier 參數,該元件即可在其 (或其中一個子項) 成為焦點時攔截硬體的按鍵事件。

範圍:任何
Modifier.onPreviewKeyEvent(onPreviewKeyEvent: ((KeyEvent) -> Boolean)?)

將這個 modifier 新增至元件的 modifier 參數,該元件即可在其 (或其中一個子項) 成為焦點時攔截硬體的按鍵事件。

版面配置

範圍:任何
Modifier.layoutId(layoutId: Any)

使用 layoutId 來標記元素,用來在其母項中識別元素。

範圍:任何

建立一個可變更包裝元素測量和配置方式的 LayoutModifier

範圍:任何
Modifier.onGloballyPositioned(
    onGloballyPositioned: ((LayoutCoordinates) -> Unit)?
)

當內容的全域位置可能已經變更時,使用元素的 LayoutCoordinates 來叫用 onGloballyPositioned

邊框間距

範圍:任何
Modifier.paddingFrom(alignmentLine: AlignmentLine, before: Dp, after: Dp)

Modifier 可根據其邊界到 alignment line 的指定距離來加入邊框間距,以決定內容的位置。

範圍:任何
Modifier.paddingFrom(
    alignmentLine: AlignmentLine,
    before: TextUnit,
    after: TextUnit
)

Modifier 可根據其邊界到 alignment line 的指定距離來加入邊框間距,以決定內容的位置。

範圍:任何
Modifier.paddingFromBaseline(top: Dp, bottom: Dp)

Modifier 可將內容依下列方式放置在版面配置中:版面配置上方距離 baseline of the first line of text in the content 的距離為 top,而 baseline of the last line of text in the content 到版面配置底端的距離為 bottom

範圍:任何

Modifier 可將內容依下列方式放置在版面配置中:版面配置頂端到 baseline of the first line of text in the content 的距離為 topbaseline of the last line of text in the content 到版面配置底端的距離為 bottom

範圍:任何
Modifier.absolutePadding(left: Dp, top: Dp, right: Dp, bottom: Dp)

Dp 內容的每邊增加額外的空間:lefttoprightbottom

範圍:任何
Modifier.padding(start: Dp, top: Dp, end: Dp, bottom: Dp)

Dp 內容的每邊增加額外的空間:starttopendbottom

範圍:任何
Modifier.padding(horizontal: Dp, vertical: Dp)

在內容的左右邊緣加入 horizontal dp 空間,以及在頂端和底端邊緣加入 vertical dp 空間。

範圍:任何

在內容的左邊、頂端、右邊和底端邊緣加入 all dp 的額外空間。

範圍:任何
Modifier.padding(paddingValues: PaddingValues)

對元件套用 PaddingValues,作為內容左邊、頂端、右邊和底端邊緣的額外空間。

範圍:任何

加上邊框間距以調整 caption bar 的插邊。

範圍:任何

加上邊框間距以容納 display cutout

範圍:任何

加上邊框間距以配合 ime 的插邊。

範圍:任何

加上邊框間距以配合 mandatory system gestures 的插邊。

範圍:任何

加上邊框間距以配合 navigation bars 的插邊。

範圍:任何

加上邊框間距以配合 safe content 的插邊。

範圍:任何

加上邊框間距以配合 safe gestures 的插邊。

範圍:任何

加上邊框間距以配合 status bars 的插邊。

範圍:任何

加上邊框間距以配合 system bars 的插邊。

範圍:任何

加上邊框間距以配合 system gestures 的插邊。

範圍:任何

加上邊框間距以配合 waterfall 的插邊。

範圍:任何

增加邊框間距,讓內容不會進入 insets 的空間。

游標

範圍:任何
Modifier.pointerHoverIcon(
    icon: PointerIcon,
    overrideDescendants: Boolean
)

建立修飾符,當游標懸停在已修改元素的上方時指定想要的指標。

範圍:任何
@ExperimentalComposeUiApi
Modifier.pointerInteropFilter(
    requestDisallowInterceptTouchEvent: RequestDisallowInterceptTouchEvent?,
    onTouchEvent: ((MotionEvent) -> Boolean)?
)

這個特別的 PointerInputModifier 可用來存取原分派給 Compose 的基礎 MotionEvent

範圍:任何

此函式已淘汰不用。Modifier.pointerInput 必須提供一或多個定義修飾符的身分識別的「key」參數,並判斷何時應取消其舊有的輸入處理協同程式,並啟動新鍵的新效果。

範圍:任何
Modifier.pointerInput(
    key1: Any?,
    block: (@ExtensionFunctionType suspend PointerInputScope.() -> Unit)?
)

建立修飾符以便在已修改元素的區域內處理指標輸入。

範圍:任何
Modifier.pointerInput(
    key1: Any?,
    key2: Any?,
    block: (@ExtensionFunctionType suspend PointerInputScope.() -> Unit)?
)

建立修飾符以便在已修改元素的區域內處理指標輸入。

範圍:任何
Modifier.pointerInput(
    vararg keys: Any?,
    block: (@ExtensionFunctionType suspend PointerInputScope.() -> Unit)?
)

建立修飾符以便在已修改元素的區域內處理指標輸入。

定位

範圍:任何

將內容位移 (x dp, y dp)。

範圍:任何

將內容位移 offset 個像素。

範圍:任何
Modifier.offset(x: Dp, y: Dp)

將內容位移 (x dp, y dp)。

範圍:任何

將內容位移 offset 個像素。

範圍: TabRowDefaults
Modifier.tabIndicatorOffset(currentTabPosition: TabPosition)

Modifier 會使用 TabRow 內所有可用的寬度,然後對所套用的指標進行動畫偏移 (視 currentTabPosition 而定)。

語意

範圍:任何
Modifier.progressSemantics(
    value: Float,
    valueRange: ClosedFloatingPointRange<Float>,
    steps: Int
)

包含確定進度指標或滑桿的進度部分所需用到的 semantics,其表示 valueRange 中的進度。

範圍:任何

包含未確定進度指標所需的 semantics,用來呈現正在執行中作業的狀態。

範圍:任何

清除所有子系節點的語意並設定新的語意。

範圍:任何
Modifier.semantics(
    mergeDescendants: Boolean,
    properties: (@ExtensionFunctionType SemanticsPropertyReceiver.() -> Unit)?
)

對版面配置節點新增語意鍵/值組,以用於測試、無障礙功能等。

捲動

範圍:任何
Modifier.nestedScroll(
    connection: NestedScrollConnection,
    dispatcher: NestedScrollDispatcher?
)

修改元素讓其加入巢狀捲動階層。

範圍:任何
@ExperimentalComposeUiApi
Modifier.relocationRequester(relocationRequester: Any)

此函式已淘汰不用。請改用 makeIntoViewRequester。

範圍:任何
@ExperimentalComposeUiApi
Modifier.onPreRotaryScrollEvent(
    onPreRotaryScrollEvent: ((RotaryScrollEvent) -> Boolean)?
)

在元件的 modifier 參數中加入這個 modifier,只要元件 (或其中一個子項) 成為焦點,即可攔截 RotaryScrollEvent

範圍:任何
@ExperimentalComposeUiApi
Modifier.onRotaryScrollEvent(
    onRotaryScrollEvent: ((RotaryScrollEvent) -> Boolean)?
)

在元件的 modifier 參數中加入這個 modifier,只要元件 (或其中一個子項) 成為焦點,即可攔截 RotaryScrollEvent

範圍:任何
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 中觸控捲動和快速滑過功能的使用者介面元素。

範圍:任何
@ExperimentalLayoutApi

在 Android R 以上版本將軟式鍵盤設為巢狀捲動功能。

大小

範圍:任何
Modifier.animateContentSize(
    animationSpec: FiniteAnimationSpec<IntSize>,
    finishedListener: ((initialValue: IntSize, targetValue: IntSize) -> Unit)?
)

此修飾符在其子項修飾符 (如果已經位於鏈結的尾部,則為子項可組合項目) 改變大小時,會以本身大小呈現動畫。

範圍:任何
Modifier.aspectRatio(ratio: Float, matchHeightConstraintsFirst: Boolean)

透過嘗試依下列順序比對其中一個傳入的限制條件,來讓內容大小符合指定的長寬比:Constraints.maxWidthConstraints.maxHeightConstraints.minWidthConstraints.minHeight (如果 matchHeightConstraintsFirstfalse 的話,此為預設值),或者 Constraints.maxHeightConstraints.maxWidthConstraints.minHeightConstraints.minWidth (如果 matchHeightConstraintsFirsttrue 的話)。

範圍:任何
Modifier.height(intrinsicSize: IntrinsicSize)

將內容的偏好高度宣告為和內容的最小或最大內建高度相同。

範圍:任何

將內容的高度宣告為和內容最小或最大內建高度完全相同。

範圍:任何

將內容的寬度宣告為和內容的最小或最大內建寬度完全相同。

範圍:任何
Modifier.width(intrinsicSize: IntrinsicSize)

將內容的偏好寬度宣告為和內容的最小或最大內建寬度相同。

範圍:任何
Modifier.onSizeChanged(onSizeChanged: ((IntSize) -> Unit)?)

在位於其後方的修飾符大小已經變更時,立即叫用 onSizeChanged

範圍:任何
Modifier.defaultMinSize(minWidth: Dp, minHeight: Dp)

只有在已包裝版面配置不受限制的情況下才限制已包裝版面配置的大小:僅限於傳入的對應限制條件為 0 時,才套用 minWidthminHeight 限制條件。

範圍:任何

透過設定 minimum height 以及 maximum height 等於 maximum height 乘以 fraction,來讓內容填滿 (可能只有部分) 傳入且限制大小的 Constraints.maxHeight

範圍:任何
Modifier.fillMaxSize(fraction: Float)

透過將 minimum widthmaximum width 設定為等於 maximum width 乘以 fraction,以及 minimum heightmaximum height 等於 maximum height 乘以 fraction,來讓內容填滿 (可能只有部分) 傳入且限制大小的 Constraints.maxWidthConstraints.maxHeight

範圍:任何

透過設定 minimum width 以及 maximum width 等於 maximum width 乘以 fraction,來讓內容填滿 (可能只有部分) 傳入且限制大小的 Constraints.maxWidth

範圍:任何
Modifier.height(height: Dp)

將內容的偏好高度宣告為精準等於 heightdp。

範圍:任何
Modifier.heightIn(min: Dp, max: Dp)

依據傳入大小 Constraints 所允許的範圍,將內容的高度限制在 mindp 到 maxdp 之間。

範圍:任何

將內容的高度宣告為精準等於 heightdp。

範圍:任何
Modifier.requiredHeightIn(min: Dp, max: Dp)

將內容的高度限制在 mindp 與 maxdp 之間。

範圍:任何

將內容的寬度和高度宣告為精準等於 sizedp。

範圍:任何
Modifier.requiredSize(width: Dp, height: Dp)

將內容的大小宣告為精準等於 widthdp 和 heightdp。

範圍:任何

宣告內容的大小必須完全符合 size

範圍:任何
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(width: Dp, height: Dp)

將內容的偏好大小宣告為精準等於 widthdp x heightdp。

範圍:任何
Modifier.size(size: DpSize)

宣告內容的偏好大小必須完全等於 size

範圍:任何
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)

依據傳入大小 Constraints 的限制,將內容的寬度限制在 mindp 到 maxdp 之間。

範圍:任何
Modifier.wrapContentHeight(
    align: Alignment.Vertical,
    unbounded: Boolean
)

允許內容依本身所要的高度進行測量,而無需考慮傳入的測量 minimum height constraint;若 unbounded 為 true,也無需考慮傳入的測量 maximum height constraint

範圍:任何
Modifier.wrapContentSize(align: Alignment, unbounded: Boolean)

允許內容根據本身所要的大小進行測量,無須考慮傳入的測量 minimum widthminimum height 限制條件;若 unbounded 為 true,也無需考慮傳入的最大限制條件。

範圍:任何
Modifier.wrapContentWidth(
    align: Alignment.Horizontal,
    unbounded: Boolean
)

允許內容根據本身所要的寬度進行測量,而無需考慮傳入的測量 minimum width constraint;若 unbounded 為 true,則也無需考慮傳入的測量 maximum width constraint

範圍:任何

將高度設為等於位於螢幕 bottominsets

範圍:任何

LayoutDirection 而定,使用 leftright 將寬度設為等於位於螢幕 endinsets

範圍:任何

LayoutDirection 而定,使用 leftright 將寬度設為等於位於螢幕 startinsets

範圍:任何

將高度設為等同於位於螢幕 topinsets

範圍: LazyItemScope

透過將 minimum height 設定為等於 maximum height 乘以 fraction,將內容填滿傳入大小限制的 Constraints.maxHeight

範圍: LazyItemScope

透過將 minimum width 設定為等於 maximum width 乘以 fraction 以及 minimum height 設定為等於 maximum height 乘以 fraction,將內容填滿父項大小限制的 Constraints.maxWidthConstraints.maxHeight

範圍: LazyItemScope

透過將 minimum width 設定為 maximum width 乘以 fraction,讓內容填滿父項大小限制條件 Constraints.maxWidth

範圍: BoxScope

在完成測量所有其他內容元素後,調整元素大小以符合 Box 的大小。

範圍: RowScope
Modifier.weight(weight: Float, fill: Boolean)

依據相對於 Row 中其他加權的同層級元素的 weight,調整元素的寬度。

範圍: ColumnScope
Modifier.weight(weight: Float, fill: Boolean)

依據相對於 Column 中其他加權的同層級元素的 weight,調整元素的高度。

測試

範圍:任何

套用標記,得以在測試中搜尋到已修改的元素。

轉換

範圍:任何
Modifier.rotate(degrees: Float)

設定檢視畫面沿著可組合項目中心旋轉的角度。

範圍:任何
Modifier.scale(scaleX: Float, scaleY: Float)

依據下列縮放比例係數,分別沿著水平軸和垂直軸調整可組合項目的內容比例。

範圍:任何
Modifier.scale(scale: Float)

依據相同的縮放比例係數,均勻調整水平軸和垂直軸的內容比例。

範圍:任何
Modifier.transformable(
    state: TransformableState,
    lockRotationOnZoomPan: Boolean,
    enabled: Boolean
)

對已修改的使用者介面元素啟用轉換手勢。

其他

範圍:任何
Modifier.blur(
    radiusX: Dp,
    radiusY: Dp,
    edgeTreatment: BlurredEdgeTreatment
)

依指定的半徑對內容進行模糊處理。

範圍:任何
Modifier.blur(radius: Dp, edgeTreatment: BlurredEdgeTreatment)

依指定的半徑對內容進行模糊處理。

範圍:任何
@ExperimentalFoundationApi
Modifier.bringIntoViewRequester(
    bringIntoViewRequester: BringIntoViewRequester
)

此修飾符可用來傳送 bringIntoView 要求。

範圍:任何
@ExperimentalFoundationApi

一個可以回應子項目 BringIntoViewRequester 要求,並捲動畫面來查看該項目的父項目。

範圍:任何
Modifier.composed(
    inspectorInfo: (@ExtensionFunctionType InspectorInfo.() -> Unit)?,
    factory: (@Composable @ExtensionFunctionType Modifier.() -> Modifier)?
)

宣告一個 Modifier 的及時組合,由每個修改的元素組合而成。

範圍:任何
Modifier.composed(
    fullyQualifiedName: String,
    key1: Any?,
    inspectorInfo: (@ExtensionFunctionType InspectorInfo.() -> Unit)?,
    factory: (@Composable @ExtensionFunctionType Modifier.() -> Modifier)?
)

宣告一個 Modifier 的及時組合,由每個修改的元素組合而成。

範圍:任何
Modifier.composed(
    fullyQualifiedName: String,
    key1: Any?,
    key2: Any?,
    inspectorInfo: (@ExtensionFunctionType InspectorInfo.() -> Unit)?,
    factory: (@Composable @ExtensionFunctionType Modifier.() -> Modifier)?
)

宣告一個 Modifier 的及時組合,由每個修改的元素組合而成。

範圍:任何
Modifier.composed(
    fullyQualifiedName: String,
    key1: Any?,
    key2: Any?,
    key3: Any?,
    inspectorInfo: (@ExtensionFunctionType InspectorInfo.() -> Unit)?,
    factory: (@Composable @ExtensionFunctionType Modifier.() -> Modifier)?
)

宣告一個 Modifier 的及時組合,由每個修改的元素組合而成。

範圍:任何
Modifier.composed(
    fullyQualifiedName: String,
    vararg keys: Any?,
    inspectorInfo: (@ExtensionFunctionType InspectorInfo.() -> Unit)?,
    factory: (@Composable @ExtensionFunctionType Modifier.() -> Modifier)?
)

宣告一個 Modifier 的及時組合,由每個修改的元素組合而成。

範圍:任何

此函式已淘汰不用。使用 systemGestureExclusion

範圍:任何

此函式已淘汰不用。使用 systemGestureExclusion

範圍:任何
Modifier.hoverable(
    interactionSource: MutableInteractionSource,
    enabled: Boolean
)

將元件設為可透過游標進入/離開事件懸停。

範圍:任何
inline
Modifier.inspectable(
    noinline inspectorInfo: (@ExtensionFunctionType InspectorInfo.() -> Unit)?,
    factory: (@ExtensionFunctionType Modifier.() -> Modifier)?
)

請使用這個屬性將一組常見的修飾符設定為一個組合,並為產生的修飾符提供 InspectorInfo

範圍:任何
@ExperimentalFoundationApi
Modifier.magnifier(
    sourceCenter: (@ExtensionFunctionType Density.() -> Offset)?,
    magnifierCenter: (@ExtensionFunctionType Density.() -> Offset)?,
    zoom: Float,
    style: MagnifierStyle,
    onSizeChanged: ((DpSize) -> Unit)?
)

顯示 Magnifier 小工具,該工具會在 sourceCenter 顯示與目前版面配置節點相比的大尺寸內容。

範圍:任何
@ExperimentalComposeUiApi

這個修飾符可以用來使用由其左側的其他修飾符、或版面配置樹狀結構中位於這個修飾符上方所提供的 ModifierLocal

範圍:任何
@ExperimentalComposeUiApi
<T : Any?> Modifier.modifierLocalProvider(
    key: ProvidableModifierLocal<T>,
    value: (() -> T)?
)

這個修飾符可用來提供 ModifierLocal,可供此修飾符右側的其他修飾符、或是此修飾符在版面配置節點子項中所附加的修飾符讀取。

範圍:任何
Modifier.onPlaced(onPlaced: ((LayoutCoordinates) -> Unit)?)

在放置好父項 LayoutModifier 與父項的版面配置後、以及放置好子項 LayoutModifier 前叫用 onPlaced

範圍:任何
@ExperimentalComposeUiApi
Modifier.motionEventSpy(watcher: ((motionEvent: MotionEvent) -> Unit)?)

針對版面配置區域或任何子項 pointerInput 接收到的每個 MotionEvent 呼叫 watcher

範圍:任何
@ExperimentalComposeUiApi
Modifier.onRelocationRequest(
    onProvideDestination: ((rect: Rect, layoutCoordinates: LayoutCoordinates) -> Rect)?,
    onPerformRelocation: (suspend (sourceRect: Rect, destinationRect: Rect) -> Unit)?
)

此函式已淘汰不用。請改用 BringIntoViewResponder。

範圍:任何
Modifier.edgeSwipeToDismiss(
    swipeToDismissBoxState: SwipeToDismissBoxState,
    edgeWidth: Dp
)

限制只可在可視區域邊緣可使用滑動關閉。

範圍:任何

從系統手勢中排除版面配置的矩形。

範圍:任何

從系統手勢中排除本機版面配置座標內的矩形。

範圍:任何
@ExperimentalLayoutApi

使用未被其他插邊修飾符取用的插邊,類似於未加上任何邊框間距的 windowInsetsPadding

範圍:任何
@ExperimentalLayoutApi

paddingValues 視為插邊使用,如同與插邊無關一般加入編框間距。