From cd4b059551182ccd33ac54542ae938f5d45c7178 Mon Sep 17 00:00:00 2001 From: Ashutosh Y Date: Thu, 23 Nov 2023 15:46:52 +0530 Subject: [PATCH] Clipboard functionality (#239) --- .../com/uitron/demo/playground/Playground.kt | 18 ++++++++++ app/src/main/res/drawable/clip_board.xml | 36 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 app/src/main/res/drawable/clip_board.xml diff --git a/app/src/main/java/com/uitron/demo/playground/Playground.kt b/app/src/main/java/com/uitron/demo/playground/Playground.kt index 64f55a1..5eaaa0b 100644 --- a/app/src/main/java/com/uitron/demo/playground/Playground.kt +++ b/app/src/main/java/com/uitron/demo/playground/Playground.kt @@ -7,7 +7,9 @@ package com.uitron.demo.playground +import androidx.compose.foundation.Image import androidx.compose.foundation.background +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -16,6 +18,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material.Button @@ -27,6 +30,9 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.ClipboardManager +import androidx.compose.ui.platform.LocalClipboardManager +import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -39,6 +45,7 @@ import com.uitron.demo.theme.UiTronTheme @Composable fun PlaygroundScreen() { + val clipboardManager: ClipboardManager = LocalClipboardManager.current val fieldValue = remember { mutableStateOf("") } Column( modifier = Modifier @@ -74,6 +81,17 @@ fun PlaygroundScreen() { ) { Text(text = stringResource(id = R.string.clear)) } + Image( + painter = painterResource(id = R.drawable.clip_board), + contentDescription = "clipboard", + modifier = Modifier + .height(48.dp) + .width(48.dp) + .padding(start = 8.dp) + .clickable { + fieldValue.value = clipboardManager.getText()?.text.orEmpty() + } + ) } Spacer(modifier = Modifier.height(20.dp)) Column( diff --git a/app/src/main/res/drawable/clip_board.xml b/app/src/main/res/drawable/clip_board.xml new file mode 100644 index 0000000..dc2ac42 --- /dev/null +++ b/app/src/main/res/drawable/clip_board.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + +