Android开发 compose组件 帮我封装一个好看的androidx.compose.foundation.text.selection.SelectionContainer 写kotlin代码给我
时间: 2023-06-16 14:05:58 浏览: 233
好的,以下是通过 Kotlin 封装一个美观的 SelectionContainer 的代码示例:
```
import androidx.compose.foundation.background
import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.scrollable
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
@Composable
fun StyledSelectionContainer(
text: String,
modifier: Modifier = Modifier,
onSelectionChanged: (String) -> Unit
) {
SelectionContainer(modifier = modifier, onSelectionChange = onSelectionChanged) {
Box(
modifier = Modifier
.background(MaterialTheme.colors.primary)
.padding(16.dp)
) {
Text(
text = text,
modifier = Modifier
.fillMaxSize()
.scrollable(
orientation = Orientation.Vertical,
enabled = true,
reverseDirection = true
)
.background(Color.Transparent)
)
}
}
}
```
使用此方法创建一个可以帮助你封装一个好看的 SelectionContainer 的组件。使用时,只需按照以下示例编写代码:
```
StyledSelectionContainer(
text = "这是一个示例文本",
modifier = Modifier
.fillMaxWidth(),
onSelectionChanged = { selectedText ->
// 处理选择的文本
}
)
```
希望这个示例能对你有所帮助!
阅读全文