当前位置: 首页 > news >正文

Android Studio Jetpack Compose毛玻璃特效按钮

直接上图看效果
在这里插入图片描述
直接上compose代码

/*** 自定义毛玻璃效果按钮 - 背景模糊,文字清晰*/
@Composable
fun GlassButton(onClick: () -> Unit,text: String,backgroundColor: Color = Color.White,txetColor: Color = Color.White,modifier: Modifier = Modifier
) {val isHigherAndroidVersion = android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.SBox(modifier = modifier) {// 毛玻璃背景层Card(modifier = Modifier.fillMaxSize(),shape = RoundedCornerShape(25.dp),// 半透明背景colors = CardDefaults.cardColors(containerColor = backgroundColor.copy(alpha = 0.12f)),// 增加细微白色边框增强玻璃感border = BorderStroke(0.5.dp, backgroundColor.copy(alpha = 0.3f))) {Box(modifier = Modifier.fillMaxSize().background(brush = Brush.verticalGradient(colors = listOf(backgroundColor.copy(alpha = 0.2f),backgroundColor.copy(alpha = 0.1f)))).then(// 只对背景应用模糊效果if (isHigherAndroidVersion) {Modifier.blur(radius = 20.dp)} else {Modifier}))}// 前景内容层 - 不应用模糊效果Box(modifier = Modifier.clip(RoundedCornerShape(25.dp)).fillMaxSize().clickable(onClick = onClick),contentAlignment = Alignment.Center) {Row(verticalAlignment = Alignment.CenterVertically,horizontalArrangement = Arrangement.Center) {// 星星图标Icon(imageVector = Icons.Filled.Star,contentDescription = null,tint = Color.White,modifier = Modifier.size(20.dp))Spacer(modifier = Modifier.width(8.dp))// 文字内容 - 保持清晰Text(text = text,fontSize = 16.sp,color = txetColor,fontWeight = androidx.compose.ui.text.font.FontWeight.Medium)}}}
}

根据需求改代码,比如改成下面这样的
在这里插入图片描述
代码贴上了,具体根据需求改。

博主幸劳,转载记得标注原出处链接,支持原创。

http://www.lryc.cn/news/571146.html

相关文章:

  • 【数据结构】栈和队列详解
  • 线性放大器设计方案:248-双极性任意波1M带宽400Vpp高压线性放大器
  • 欧拉安装vboxlinuxadditions时,出错
  • 第九章——8天Python从入门到精通【itheima】-95~96-Python的异常模块与包(自定义模块并导入+自定义Python包)
  • MySQL 命令行的核心操作命令详解
  • 资深Java工程师的面试题目(一)微服务
  • 如何高效分享WordPress博客文章
  • Sparse4D: 稀疏范式的端对端融合
  • (100)课126: 间隙锁临键锁,是为了锁定索引B+树里叶节点之间的间隙,不允许别的事务在这些间隙里插入新的叶节点,从而阻止幻读
  • 振动测控模块设计原理图:276-16路AD、10路DA嵌入式振动测控模块
  • 自然语言处理文本分类
  • Node.js 项目启动命令全面指南:从入门到精通(术语版)
  • Redis中的分布式锁之SETNX底层实现
  • vue3 watch监视详解
  • 最简单的远程桌面连接方法是什么?系统自带内外网访问实现
  • 基于Cesium的倾斜切片/模型位置方位调整工具
  • Android多媒体——MediaCodec回调与配置(二十五)
  • Android App启动流程深度解析(一):从Activity.startActivity开始
  • 常用交易所链接
  • 【PmHub面试篇】PmHub分布式事务Seata保证任务审批状态一致性面试专题解析
  • fd查找文件并拷贝
  • 【启发式算法】RRT算法详细介绍(Python)
  • OSPF 配置全攻略:从基础原理到实战演练
  • python 重要地位
  • UE/Unity/Webgl云渲染推流网址,如何与外部网页嵌套和交互?
  • 答题考试系统小程序ThinkPHP+UniApp
  • NLP学习路线图(五十一):PyTorch/TensorFlow
  • 用C语言实现面向对象思想编写驱动层--以驱动LED为例
  • R情感分析:解码文本中的情感
  • 《从IaaS到容器化:深度解析云计算三层架构与阿里云ECS+K8s协同实践》