JetpackCompose从入门到实战学习笔记2——Modifier的简单使用

1.Image的使用:

@Composable
fun Image(modifier: Modifier) {Row {Image(painterResource(id = R.mipmap.iv_pic),contentDescription = stringResource(R.string.description),modifier = modifier.size(60.dp)//宽和高同时设置成60.clip(CircleShape)//将图片裁剪成圆形)//设置间距Spacer(Modifier.width(20.dp))Image(painterResource(id = R.mipmap.iv_pic),contentDescription = stringResource(R.string.description),modifier = Modifier.size(width = 100.dp, height = 100.dp).clip(CircleShape))}
}

2.Image的效果如下:

3.Button的使用:

@Composable
fun Button(modifier: Modifier) {Row {Spacer(Modifier.width(200.dp))Text(text = stringResource(R.string.description),style = typography.bodySmall.copy(color = Color.White),textAlign = TextAlign.Center,modifier =Modifier.width(80.dp).clickable(onClick = {}).shadow(3.dp, shape = backgroundShape).clip(backgroundShape).background(brush = Brush.verticalGradient(colors = listOf(Color.Red,Color.Blue,),startY = 0f,endY = 80f)).padding(vertical = 10.dp))}
}

4.Button的效果预览:

5.Background的使用:

@Composable
fun background(modifier: Modifier) {Row {Spacer(Modifier.width(300.dp))Box(modifier = modifier.size(100.dp).background(color = Color.Red)){Text(text = "纯色", modifier.align(Alignment.Center))}Spacer(Modifier.width(40.dp))Box(modifier.size(150.dp).background(brush = verticalGradientBrush)){Text(text = "渐变色", modifier.align(Alignment.Center))}}
}//创建brush渐变色private val verticalGradientBrush = Brush.verticalGradient(colors = listOf(Color.Red,Color.Green,Color.Blue),)

6.Background的效果预览:

7.fillMaxSize:

@Composable
fun fillMaxSize(modifier: Modifier) {Box(modifier = modifier.fillMaxSize()//宽高同时铺满屏幕.background(Color.Red))Box(modifier = modifier.fillMaxHeight().width(60.dp)//高度铺满屏幕.background(Color.Blue))Box(modifier = modifier.fillMaxWidth().height(60.dp).background(Color.Green))//宽度铺满屏幕
}

8.fillMaxSize的效果预览:

9.padding的使用:

@Composable
fun padding(modifier: Modifier) {Box(modifier = modifier.padding(8.dp).border(2.dp, Color.Red, shape = RoundedCornerShape(2.dp)).padding(8.dp)){Spacer(modifier = modifier.size(width = 200.dp, height = 20.dp).background(Color.Red))}
}

10.padding的效果预览:

11.weightModifier的使用:

@Composable
fun weightModifierDemo(modifier : Modifier){Row {Spacer(Modifier.width(620.dp))//单个效果时设置为100,整体为620Column(modifier = Modifier.width(300.dp).height(200.dp)) {Box(modifier = modifier.weight(1f).fillMaxWidth().background(Color.Green))Box(modifier = modifier.weight(1f).fillMaxWidth().background(Color.Blue))Box(modifier = modifier.weight(1f).fillMaxWidth().background(Color.Red))}}
}

12.weightModifier的效果预览:

13.完整的效果如下:

14.demo的源码地址如下:

https://gitee.com/jackning_admin/compose-modifier-demo

JetpackCompose从入门到实战学习笔记2——Modifier的简单使用相关推荐

  1. MongoDB 入门教程实战学习笔记-31-mongo 聚合查询管道 Aggregation Pipieline

    aggregation 聚合操作处理数据记录并返回计算结果. 聚合操作将多个文档中的值组合在一起, 并且可以对分组数据执行各种操作以返回单个结果. mongodb 提供了三种执行聚合的方法: 聚合管道 ...

  2. FPGA入门到实战-学习笔记

    ref:腾讯教育 FPGA入门到实战-录播课-上海V3学院 https://ke.qq.com/course/66019 老师:尤恺元 第1课 掌握Verilog HDL的高级编码知识 授课日期: 老 ...

  3. 微信小程序入门与实战学习(笔记一:第一章)

    什么是微信小程序 张小龙的定义: 1.无需下载安装即可使用 2.用户"用完即走",无需关心是否安装太多应用 3.应用将无处不在,随时可用 [CP2 (人与服务) 小程序] 1.业务 ...

  4. Tensorflow入门与实战学习笔记(十三)-FNN图像语义分割

    目录 1 图像语义分割 1.1 应用场景: 1.1.1 街景的语义分割​ 1.2 圖像语义分割的实质 1.3 网络结构 1.4 两种实现方式 1.4.1 采用了上采样 特点: 1.4.2 输入和输出 ...

  5. 深度学习入门之PyTorch学习笔记:卷积神经网络

    深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 3 多层全连接网络 4 卷积神经网络 4.1 主要任务及起源 4.2 卷积神经网络的原理和结构 4.2.1 卷积层 1. ...

  6. 深度学习入门之PyTorch学习笔记:多层全连接网络

    深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 3 多层全连接网络 3.1 PyTorch基础 3.2 线性模型 3.2.1 问题介绍 3.2.2 一维线性回归 3.2 ...

  7. 深度学习入门之PyTorch学习笔记:深度学习框架

    深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 2.1 深度学习框架介绍 2.1.1 TensorFlow 2.1.2 Caffe 2.1.3 Theano 2.1.4 ...

  8. 深度学习入门之PyTorch学习笔记:深度学习介绍

    深度学习入门之PyTorch学习笔记:深度学习介绍 绪论 1 深度学习介绍 1.1 人工智能 1.2 数据挖掘.机器学习.深度学习 1.2.1 数据挖掘 1.2.2 机器学习 1.2.3 深度学习 第 ...

  9. 深度学习入门之PyTorch学习笔记

    深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 3 多层全连接网络 4 卷积神经网络 5 循环神经网络 6 生成对抗网络 7 深度学习实战 参考资料 绪论 深度学习如今 ...

最新文章

  1. 面向对象的本质是算法的上下文封装,是同一类属的行为接口的一致性
  2. FPGA之道(27)VHDL的操作符号
  3. Windows PE 第十三章 PE补丁技术
  4. 【体验】说好的千元开发板,实用党体验单板机先驱者——Leez P710
  5. vue表格导出到Excel
  6. 浙大通讯与计算机网络离线作业,浙大2015年 通信与计算机网络离线作业
  7. 【渝粤教育】国家开放大学2018年春季 0529-21T高级英语阅读(1) 参考试题
  8. C——用冒泡排序法、选择排序法对随机输入的10个整数从小到大排序
  9. 传送,条件加速 Learn Unreal Engine (with C++)
  10. 【AI视野·今日CV 计算机视觉论文速览 第165期】Mon, 21 Oct 2019
  11. stack java实现_java实现stack
  12. 【毕业设计】JSP数据库连接池的研究与实现(源代码+论文)
  13. 2022年全球及中国MICC电缆行业运行战略规划与未来投资策略分析报告
  14. Redis由于目标计算机积极拒绝,无法连接。
  15. Unity3d的场景音效静音处理
  16. 线性代数中解方程组的加减消元和求特征向量的加减消元的区别
  17. 终端模拟器怎么用android命令大全,终端模拟器命令大全apk下载-终端模拟器刷入recovery手机版下载V1.0.70安卓最新版-西西软件下载...
  18. bwt比对算法 C语言,BWT比对算法
  19. 为了完成小姐姐安排的打分系统,又熬了一个小时的夜补充视图与模板
  20. 瑤里古鎮 婺源鄉村 你會去哪里呢

热门文章

  1. ABAP 设置鼠标光标
  2. YOLOv5 Head解耦
  3. 内存溢出(Memory Overflow)和内存泄露(Memory Leak)的区别
  4. 「项目管理」甘特图制定项目计划的方法
  5. 现实赢了袖手旁观他在冷眼看我们
  6. 福州大学数据科学与计算机学院分数,2021福州大学录取分数线-福州大学分数线-2021福州大学录取查询网址...
  7. 服务器文件防止被扒,防止别人扒自己的网页方法
  8. python随手记自动记账_随手记 怎么实现自动记账
  9. C++程序设计基础之(第三章)函数
  10. 回合制游戏中的活动需要注意的