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

Compose | UI组件(十) | Box,Surface - 帧布局

文章目录

  • 前言
    • Box 组件的参数说明
    • Box 组件的使用
    • Surface 的参数说明
    • Surface 的使用
  • 总结


前言

Box组件是 按子组件依次叠加 的布局组件,相当传统View中的 FrameLayout


Box 组件的参数说明

@Composable
inline fun Box(modifier: Modifier = Modifier,                      //修饰符contentAlignment: Alignment = Alignment.TopStart,   //内容对齐方式propagateMinConstraints: Boolean = false,           //是否将最小尺寸值设置给子 View ,默认为falsecontent: @Composable BoxScope.() -> Unit            //Box作用域
)

Box 组件的使用

Box{Box(modifier = Modifier.size(150.dp).background(Color.Green))Box(modifier = Modifier.size(80.dp).background(Color.Red))Text(text = "Hello")
}

Surface 的参数说明

Surface组件是将多个组件摆放平面上,可以设置平面边框,圆角,颜色等。

@Composable
@NonRestartableComposable
fun Surface(modifier: Modifier = Modifier,                    //修饰符shape: Shape = RectangleShape,                    //设置布局形状color: Color = MaterialTheme.colorScheme.surface, //设置内容颜色contentColor: Color = contentColorFor(color),     //设置tonalElevation: Dp = 0.dp,                        //当color=ColorScheme.surface时,值越大,浅色主题越深,深色主题越浅shadowElevation: Dp = 0.dp,                       //阴影大小border: BorderStroke? = null,                     //设置边框content: @Composable () -> Unit
)

注:
SurfaceBox 区别在于可以快速设置界面的形状,阴影,边框,颜色等,而 Box 只是简单的设置颜色和大小

Surface 的使用

Surface(shape =  RoundedCornerShape(8.dp),shadowElevation = 10.dp,modifier = Modifier.height(100.dp).background(Color.Red),
) {Row{Image(painter = painterResource(id = R.drawable.ic_launcher_background),contentDescription = null,modifier = Modifier.size(100.dp).background(Color.Red),contentScale = ContentScale.Crop)Spacer(modifier = Modifier.padding(horizontal = 12.dp))Column(modifier = Modifier.fillMaxSize(),verticalArrangement = Arrangement.Center) {Text(text = "Liratie" , style = MaterialTheme.typography.titleMedium)Spacer(modifier = Modifier.padding(vertical = 8.dp))Text(text = "谭祖爱")}}
}

总结

  1. Box组件是 按子组件依次叠加 的布局组件,相当传统View中的 FrameLayout
  2. Surface组件是将多个组件摆放平面上,可以设置平面边框,圆角,颜色等
  3. SurfaceBox 区别在于可以快速设置界面的形状,阴影,边框,颜色等,而 Box 只是简单的设置颜色和大小
http://www.lryc.cn/news/292049.html

相关文章:

  • 种草日记|林曦老师的冬日好物分享
  • 【算法与数据结构】139、LeetCode单词拆分
  • NLP任务之Named Entity Recognition
  • NUXT3项目实践总结
  • 中科星图——2020年全球30米地表覆盖精细分类产品V1.0(29个地表覆盖类型)
  • Tomcat 部署项目时 war 和 war exploded区别
  • 【开源】SpringBoot框架开发天然气工程运维系统
  • go数据操作-MySQL
  • 基于node.js和Vue3的医院挂号就诊住院信息管理系统
  • Django如何调用机器学习模型进行预测
  • Web3.0初探
  • 在windows和Linux中的安装 boost 以及 安装 muduo 和 mysql
  • WPOpenSocial实现WordPress的QQ登录
  • 关于我用AI编写了一个聊天机器人……(7)
  • WebService的services.xml问题
  • 永久删除 Elasticsearch 中的主节点
  • 从搜索引擎到答案引擎:LLM驱动的变革
  • IDEA如何进行远程Debug调试
  • 故障诊断 | 一文解决,GRU门控循环单元故障诊断(Matlab)
  • C语言数据结构之二叉树
  • 《HTML 简易速速上手小册》第1章:HTML 入门(2024 最新版)
  • 笔记本电脑Win11重装系统教程
  • 突破编程_C++_面试(基础知识(3))
  • AI的安全应答之道
  • 【昕宝爸爸小模块】日志系列之什么是分布式日志系统
  • 如何在淘宝和Shopee上进行选品:策略和原则
  • C++/数据结构:二叉搜索树的实现与应用
  • C++引用、内联函数、auto关键字介绍以及C++中无法使用NULL的原因
  • RabbitMQ之三种队列之间的区别及如何选型
  • 【ArcGIS微课1000例】0099:土地利用变化分析