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

android compose 设置 padding 和 margin

 第一种方法, 直接看代码!!

@Preview(name = "Test Margin")
@Composable
fun TestMargin() {Box(modifier = Modifier.fillMaxWidth()) {Text(modifier = Modifier// 设置 margin.padding(start = 10.dp).width(100.dp).height(100.dp).background(color = Color.Red)// 设置 padding.padding(start = 50.dp),text = "Hello World!")}
}

再看看 ChatGPT 的回答

在 Jetpack Compose 中,ConstraintLayout 是一个非常灵活的布局工具。要在 ConstraintLayout 中设置 paddingmargin,需要分别使用 padding 修饰符和 Modifier.constrainAs 中的 margin 参数。

设置 padding

padding 是为整个 ConstraintLayout 或其子元素添加内边距。

ConstraintLayout(modifier = Modifier.padding(16.dp) // 为整个 ConstraintLayout 设置 padding
) {val (box) = createRefs()Box(modifier = Modifier.size(100.dp).background(Color.Red).padding(8.dp) // 为 Box 设置 padding.constrainAs(box) {top.linkTo(parent.top)start.linkTo(parent.start)})
}

设置 margin

margin 是为子元素在 ConstraintLayout 中设置外边距。

ConstraintLayout {val (box) = createRefs()Box(modifier = Modifier.size(100.dp).background(Color.Red).constrainAs(box) {top.linkTo(parent.top, margin = 16.dp) // 设置 marginTopstart.linkTo(parent.start, margin = 16.dp) // 设置 marginStart})
}

综合使用

你可以同时设置 paddingmargin 来控制布局内外的间距。

ConstraintLayout(modifier = Modifier.padding(16.dp) // 整个布局的 padding
) {val (box1, box2) = createRefs()Box(modifier = Modifier.size(100.dp).background(Color.Blue).constrainAs(box1) {top.linkTo(parent.top, margin = 8.dp) // 外边距start.linkTo(parent.start, margin = 8.dp)}.padding(4.dp) // 内边距)Box(modifier = Modifier.size(100.dp).background(Color.Green).constrainAs(box2) {top.linkTo(box1.bottom, margin = 16.dp)start.linkTo(box1.end, margin = 16.dp)}.padding(4.dp))
}

在这个例子中,ConstraintLayout 本身有一个 16dp 的 padding,而每个 Box 有它们自己的 paddingmargin

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C++ 面试 - 基础题】每日 3 题(五)
  • 在vue中实现函数防抖
  • 2-17、18 HC06蓝牙模块(meArm机械臂)
  • TCP 通信全流程分析:从连接建立到数据传输的深度探索
  • Spring Boot实用小技巧 - - 第523篇
  • openEuler软件管理
  • MyBatis 源码学习 | Day 2 | MyBatis 初始化
  • 【前端】记录各种控制台警告/bug
  • yolo中的iou是什么意思
  • 力扣高频SQL 50题(基础版)第四十题之1164. 指定日期的产品价格
  • mysql事务与索引
  • 浅谈 Spring AOP框架 (2)——Spring统一功能处理
  • 24.8.5数据结构|栈
  • vscode ssh-remote 疑似内存泄漏问题
  • 两轮电动车行业竞争激烈,九号公司如何破局
  • 10个确保微服务与容器安全的最佳实践
  • 2019.2.20 c++ 知识梳理
  • Android Studio:GIT提交项目到远程仓库
  • Android组件 - 收藏集 - 掘金
  • EOS是什么
  • exif信息对照
  • HashMap ConcurrentHashMap
  • Javascript Math对象和Date对象常用方法详解
  • Java的Interrupt与线程中断
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • PAT A1120
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • vue数据传递--我有特殊的实现技巧
  • Web Storage相关
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 分享一份非常强势的Android面试题
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 跳前端坑前,先看看这个!!
  • 说说我为什么看好Spring Cloud Alibaba
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​MySQL主从复制一致性检测
  • ​Redis 实现计数器和限速器的
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (第30天)二叉树阶段总结
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (三分钟)速览传统边缘检测算子
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • .net 7 上传文件踩坑
  • .NET多线程执行函数
  • .so文件(linux系统)
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • ::
  • :如何用SQL脚本保存存储过程返回的结果集
  • [<死锁专题>]
  • [000-01-030].Zookeeper学习大纲
  • [24年新算法]NRBO-XGBoost回归+交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下