— Jetpack Compose, LocalClipboardManager, Android Development — 1 min read
Jetpack Compose is a modern toolkit for building native Android UI. One of the features it provides is the LocalClipboardManager
, which allows you to interact with the system clipboard.
To use LocalClipboardManager
, you first need to obtain an instance of it. This can be done by calling LocalClipboardManager.current
within a @Composable
function.
Here is an example that shows how to copy text to the clipboard:
1@Composable2fun CopyToClipboardExample() {3 val clipboardManager = LocalClipboardManager.current4 val text = remember { mutableStateOf("") }5
6 Column {7 TextField(8 value = text.value,9 onValueChange = { text.value = it },10 label = { Text("Text to copy") }11 )12 Button(onClick = { clipboardManager.setText(AnnotatedString(text.value)) }) {13 Text("Copy to clipboard")14 }15 }16}
In this example, we have a TextField
that allows the user to enter some text. When the user clicks the "Copy to clipboard" button, the text is copied to the clipboard using clipboardManager.setText()
.
We can also paste text from the clipboard. Here is an example that shows how to do this:
1@Composable2fun PasteFromClipboardExample() {3 val clipboardManager = LocalClipboardManager.current4 val text = remember { mutableStateOf("") }5
6 Column {7 Text(text = text.value)8 Button(onClick = {9 val clipData = clipboardManager.getText()10 if (clipData != null) {11 text.value = clipData.text12 }13 }) {14 Text("Paste from clipboard")15 }16 }17}
In this example, we have a Text
composable that displays the current value of text
. When the user clicks the "Paste from clipboard" button, we call clipboardManager.getText()
to get the current contents of the clipboard. If it is not null
, we update the value of text
with the contents of the clipboard.
Jetpack Compose's LocalClipboardManager
provides an easy way to interact with the system clipboard on Android. You can use it to copy and paste text, as shown in the examples above.