簡體   English   中英

使用 Jetpack Compose 僅​​在給定邊界內拖動 Composable

[英]Drag Composable only inside given boundries with Jetpack Compose

所以我在另一個盒子(邊界)內有一個黑盒子(矩形),矩形設置為可拖動

但是現在我可以在整個窗口周圍拖動矩形,但我希望如果矩形“離開”邊界它應該消失在它后面。 我可以使用其他修飾符嗎?

這里有一點上下文:

我的代碼如下所示:

MaterialTheme {
        Box(modifier = Modifier
            .size(500f.dp)
            .border(2f.dp, Color.Black, RectangleShape)
        ){
            Box(modifier = Modifier
                .offset { IntOffset(offsetX.roundToInt(), 0) }
                .draggable(
                    orientation = Orientation.Horizontal,
                    state = rememberDraggableState { delta ->
                        offsetX += delta
                    }
                )
                .background(Color.Blue)
                .size(100f.dp)
            ){
                Text("Hello")
            }
        }
    }

當我將矩形拖到邊界外時,它看起來像這樣:

不良行為

但它應該更像這樣:

通緝行為

在要剪輯其內容的可組合組件上,添加clipToBounds()修飾符。

Box(modifier = Modifier
    .size(500f.dp)
    .border(2f.dp, Color.Black, RectangleShape)
    .clipToBounds()
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM