JetPack Compose学习笔记

B站视频地址:

一次搞定 Jetpack Compose,优先获得择偶权,更新中_哔哩哔哩_bilibili

对应视频选集 P1-P5

02-Jecpack Compose是什么与优势

它是2019 年 I/O 大会上公布的新的 UI 库,在21年年7月29发布它的正式版。

既然它是一个UI库,那就要和我们传统写UI的方式作对比了。

①传统写UI的方式:就是先在建立一个xml文件,在里面写好布局好,再回到Java文件(或者是Kotlin文件)里去把控件实例化出来后,再去调用。

②Compose这个库:或者说它是一个框架,它重新定义了Android UI的写法,不再使用xml文件了,而是直接在Kotlin文件(只支持Kotlin)里,写布局的代码。官方对Compose的评价是“让困难的事情变简单,让不可能的事情变得有可能”。

05-配置布局

弹幕:文字和图片再空一点点能好看点

所以代码如下:

    @Composablefun MessageCard(msg:Message){Row(modifier = Modifier.padding(all = 8.dp)) {Image(painter = painterResource(id = R.drawable.jetpack_compose),contentDescription = null,modifier = Modifier.size(40.dp).clip(CircleShape))Column (modifier = Modifier.padding(start = 8.dp)){Text(text = msg.author)Spacer(modifier = Modifier.height(4.dp))Text(text = msg.body)}}}

setContent里面调用,我们传入参数:

setContent {MessageCard(Message("Android","JetPack Compose"))}

最终效果:

一些解释:

使用 Column

Column 函数可让您垂直排列元素。向 MessageCard 函数中添加一个 Column
您可以使用 Row 水平排列各项,并使用 Box 堆叠元素。

添加图片元素

下面我们来添加消息发送者的个人资料照片,以丰富消息卡片。使用 Resource Manager 从照片库中导入图片,或使用这张图片。添加一个 Row 可组合项,以实现良好的设计结构,并向该可组合项中添加一个 Image 可组合项。

配置布局

您的消息布局拥有良好的结构,但其元素的间距不合理,并且图片过大!为了装饰或配置可组合项,Compose 使用了修饰符。通过修饰符,您可以更改可组合项的大小、布局、外观,还可以添加高级互动,例如使元素可点击。您可以将这些修饰符链接起来,以创建更丰富的可组合项。您将使用其中一些修饰符来改进布局

【JetPack Compose】JetPack Compose简单介绍相关推荐

  1. JetPack Compose简单介绍

    它是2019 年 I/O 大会上公布的新的 UI 库,在今年下半年会发布它的正式版. 既然它是一个UI库,那就要和我们传统写UI的方式作对比了. ①传统写UI的方式:就是先在建立一个xml文件,在里面 ...

  2. Jetpack All In Compose ?看各种Jetpack库在Compose中的使用

    Jeptack Compose 主要目的是提高 UI 层的开发效率,但一个完整项目还少不了逻辑层.数据层的配合.幸好 Jetpack 中不少组件库已经与 Compose 进行了适配,开发者可以使用这些 ...

  3. Android Jetpack组件之WorkManger使用介绍

    1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发中的问题,对代码的逻辑和UI界面实现深层解耦,打造数据驱动型UI界面. A ...

  4. Kaldi的简单介绍和基本使用说明

    Kaldi的简单介绍和基本使用说明 前言 一.ASR简介 1.语音识别系统 特征提取: 声学模型 发音词典 语言模型 语音解码 2. ASR项目 二.Kaldi简介 三.Kaldi项目的结构 四.Ka ...

  5. 遗传算法的简单介绍以及模式定理的简单证明

    遗传算法   遗传算法(Genetic Algorithm,GA),最早是由美国的John holland在20世纪70年代提出.算法通过模拟达尔文生物进化论的自然选择以及遗传学机理的生物进化过程来搜 ...

  6. 2021年大数据ELK(十八):Beats 简单介绍和FileBeat工作原理

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Beats 简单介绍和FileBeat工作原理 一.Beats 二.FileB ...

  7. 2021年大数据ELK(十五):Elasticsearch SQL简单介绍

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Elasticsearch SQL简单介绍 一.SQL与Elasticsear ...

  8. 2021年大数据ELK(二):Elasticsearch简单介绍

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 一.Elasticsearch简介 1.介绍 2.创始人 二.E ...

  9. iOS开发UI篇—多控制器和导航控制器简单介绍

    iOS开发UI篇-多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...

  10. 简单介绍一下R中的几种统计分布及常用模型

    统计学上分布有很多,在R中基本都有描述.因能力有限,我们就挑选几个常用的.比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示. 统计分布每一种分布有四个函数:d――density(密度函数) ...

最新文章

  1. Windows 技术篇-cmd强制关闭端口、解除端口占用方法,cmd查询端口相关的进程pid并杀死进程实例演示
  2. sql盲注特点_SQL注入介绍及分类解读
  3. 大学计算机软件专业生应该学什么(转)
  4. LeetCode——数学
  5. html-文本框和单选框
  6. IP,IP地址,mac地址
  7. Linux常用指令---netstat(网络端口)
  8. 实现ios常见菜单效果的思路
  9. linux tensorflow例子,基于Docker的TensorFlow机器学习框架搭建和实例源码解读
  10. ArcMap DayDreamInGIS数据处理工具 插件之 搜狗词库生成
  11. linux 防蓝光软件下载,教你如何从Git上checkout指定的文件夹至本地的代码
  12. 程序员笔名、别名_适合程序员的英文名字
  13. Matlab中的对数使用
  14. 【计算机网络】光纤传输的全反射
  15. Java基础知识笔记
  16. Maven中的pom.xml文件超详细解析
  17. Python制作经典坦克大战小游戏
  18. 莫再用唐僧式的唠叨施加影响----家长式管理者实施HOLA的障碍
  19. 福建选择阿里云服务器地域(华南/华东/华北)哪个更好?
  20. 算数操作符与移位操作符

热门文章

  1. 阿里云服务器北京机房具体地址在哪?云服务器机房地址查询方法
  2. Map 综述(二):彻头彻尾理解 LinkedHashMap
  3. (二)redis发布订阅---取消订阅
  4. I.MX6UL系统移植(一)—— U-Boot
  5. 炉窑燃烧的空气过剩系数计算方法
  6. Unity3D 自学之路——转
  7. 无人模型锂聚合物电池使用(上)——部分受损电芯无法充电时强制使用(强烈不推荐,仅限于应急,事后应尽快更换电池)
  8. EXCEL根据某列利用VLOOKUP函数获取另外一列相应的值
  9. geetest文件夹什么意思_geetest文件夹什么意思_手机文件夹都是英文不敢乱删?教你轻松辨别,快速多出几G内存......
  10. 雅思词汇之万词plan:第4-365天