首页 > 其他分享 >在 Jetpack Compose 中使用剪贴板服务

在 Jetpack Compose 中使用剪贴板服务

时间:2024-12-20 22:09:36浏览次数:3  
标签:剪贴板 Compose myOptions val Jetpack clipboardManager context text

以使用LocalClipboardManager

val clipboardManager: ClipboardManager = LocalClipboardManager.current
var text by remember { mutableStateOf("")}

Column(modifier = Modifier.fillMaxSize()) {

TextField(value = text, onValueChange = {text = it})
Button(onClick = {
    clipboardManager.setText(AnnotatedString((text)))
}) {
    Text("Copy")
}

Button(onClick = {
  clipboardManager.getText()?.text?.let {
      text = it
  }
}) {
    Text("Get")
}

}

可以创建将文本复制到剪贴板的函数。我做了这个:

fun copyToClipboard(context: Context, text: String) {
val clipboardManager =
context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText("password", text)
clipboardManager.setPrimaryClip(clip)
}
密码标签是因为我用它来复制密码,但您应该将其替换为表示您正在复制内容的标签。

获取可在包含视图的模块中使用的上下文。例如,我有一个 Button 来调用模块中的函数,因此我将上下文传递给它。LocalContext.currentcopyToClipboardTopContent

@Composable
fun MyApp() {
val myOptions = getOptions(titles = listOf("Capital letters", "Numbers", "Symbols"))
val mySlider = getSliderInfo()
val myPassword = getPassword()
val context = LocalContext.current

Column {
    MyTitle()
    Box(modifier = Modifier.padding(25.dp)) {
        Column(
            modifier = Modifier.fillMaxSize(),
            horizontalAlignment = Alignment.CenterHorizontally,
            verticalArrangement = Arrangement.SpaceBetween
        ) {
            TopContent(options = myOptions, slider = mySlider, myPassword, context)
            GenerateButton(options = myOptions, slider = mySlider, myPassword)
        }
    }
}

}
如果您遇到问题,请确保导入这些库:

import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context

标签:剪贴板,Compose,myOptions,val,Jetpack,clipboardManager,context,text
From: https://www.cnblogs.com/johnsena/p/18620038

相关文章

  • 基于知识图谱的医疗问答系统(dockerfile+docker-compose)
    目录一、搭建Neo4j图数据库1、方式选择2、Dockerfile+docker-compose部署neo4j容器2.1、更新yum镜像源2.2、安装docker-ce社区版2.3、配置镜像加速2.4、安装DockerCompose2.4.1、下载DockerCompose二进制包2.4.2、设置可执行权限2.4.3、查看版本2.5、创建目录结构2.6、......
  • Jetpack Compose学习(15)——Pager组件的使用(对标ViewPager)
    原文地址:JetpackCompose学习(15)——Pager组件的使用(对标ViewPager)-Stars-One的杂货小窝从名字可以看出,Pager这个就是ViewPager的替代产物在JetpackCompose里的,Pager根据方向,主要分为2个组件:VerticalPagerHorizontalPager这2个,一个是默认占满高度,一个是默认占......
  • 81、docker compose 安装常用的软件
    1、dockercompose安装Redisversion:'3.8'services:redis:image:redis:latest#使用Redis最新版本的镜像container_name:redisports:-"6379:6379"#映射Redis默认端口volumes:-redis-data:/data#Redis数据持久......
  • 轻松掌握 PHP Composer:提升你的项目依赖管理效率!
    PHPComposer使用方法指南Composer是PHP的依赖管理工具,它允许开发者轻松地管理项目中的库和依赖项。以下是使用Composer的基本步骤和方法。1.安装Composer在使用Composer之前,首先需要安装它。可以通过以下命令在终端中安装Composer:php-r"copy('https://ge......
  • 《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose
    @目录二、高级篇(大厂进阶)5.Docker-compose容器编排5.1是什么5.2能干嘛5.3去哪下5.4Compose核心概念5.5Compose使用的三个步骤5.6Compose常用命令5.7Compose编排微服务5.7.1改造升级微服务工程docker_boot5.7.2不用Compose5.7.3swagger测试5.7.4上面成功了,有哪些问题?5.7.5......
  • 通过 Docker Compose 本地启动 zk 集群
    项目如果你想直接看代码,可以直接看我的git-docker-centos项目地址,最近发布了v1.2.0版本,readme已经非常详细了,包括项目的使用方式和需求规划本机环境基本只依赖Docker的安装,DockerDesktop的安装教程可参考我之前的博客-DockerDesktop安装方式和开发镜像分享,当然,更详......
  • docker-compose部署Archery SQL审核工具
    下载安装包gitclonehttps://gitee.com/rtttte/Archery.git安装步骤cdsrc/docker-compose#.env文件修改,如果修改了mysql和redis的密码,env里也要更新,或者使用settings.py复写NGINX_PORT=9123DEBUG=trueDATABASE_URL=mysql://root:123456@mysql:3306/archeryCAC......
  • Docker Compose实战二( 轻松部署 MySQL)
      通过过前面的文章(DockerCompose基础语法)你已经掌握基本语法和常用指令认识到DockerCompose作为一款强大工具的重要性,它极大地简化了多容器Docker应用程序的部署与管理流程。本文将详细介绍如何使用DockerCompose部署MySQL,为你提供一个简单而强大的数据库服务器解决......
  • 《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose
    @目录二、高级篇(大厂进阶)5.Docker-compose容器编排5.1是什么5.2能干嘛5.3去哪下5.4Compose核心概念5.5Compose使用的三个步骤5.6Compose常用命令5.7Compose编排微服务5.7.1改造升级微服务工程docker_boot5.7.2不用Compose5.7.3swagger测试5.7.4上面成功了,有哪些问题?5.7.5......
  • 《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令
    @目录二、高级篇(大厂进阶)7.Docker容器监控之CAdvisor+InfluxDB+Granfana7.1原生命令7.2是什么CAdvisorInfluxDBGranfana总结7.3compose容器编排,一套带走本人其他相关文章链接二、高级篇(大厂进阶)7.Docker容器监控之CAdvisor+InfluxDB+Granfana7.1原生命令操作问......