Compose获取资源方式:

文本 -> stringResource(R.string.hello_world)
颜色 -> colorResource(R.color.black)
尺寸 -> dimensionResource(R.dimen.padding)
图片 -> painterResource(R.drawable.head_icon)

Icon:

首先看看Icon的接收参数类型:

contentDescription:是给无障碍人使用的文本描述,考虑到一些视觉障碍的人使用,所以有个这个属性,会使用TTS语音播放将contentDescription属性读出来,告知用户此按钮的作用
tint:设置图标颜色

ImageBitmap这个就不用说了吧,这里主要用一下Painter和ImageVector

ImageVector:Compose内置了几十个常用的图标,Icons里面定了5种类型Outlined、Filled、Sharp、TwoTone、Rounded,可以根据自己的需要选择不同的类型,如填充型(Filled)或者是轮廓型(Outlined)

        //使用自带图标,默认的就四十几个图标Row {Icon(Icons.Outlined.Favorite, contentDescription = null, tint = Color.Red)Icon(Icons.Filled.Favorite, contentDescription = null, tint = Color.Blue)Icon(Icons.Sharp.Favorite, contentDescription = null, tint = Color.Green)Icon(Icons.TwoTone.Favorite, contentDescription = null, tint = Color.Red)Icon(Icons.Rounded.Favorite, contentDescription = null, tint = Color.Black)}

效果如图:

Painter:

//获取图片资源,R.drawable.xx或者R.mipmap.xx
Icon(painter = painterResource(id = R.mipmap.head_icon), null)

效果如图:

Icon加载资源图片显示黑色没有加载出图片?别慌,因为默认的tint模式是AmbientContentColor.current,我们需要去掉它默认的着色模式,所以需要将tint的属性设置为Color.Unspecified

//获取图片资源,R.drawable.xx或者R.mipmap.xx
Icon(painter = painterResource(id = R.mipmap.head_icon), null, tint = Color.Unspecified)

此时图片的显示效果就正常了

Jetpack Compose——Icon(图标)的使用相关推荐

  1. Jetpack Compose - Icon

    Jetpack Compose - Icon 1.属性一览 2.使用示例 3.更新 4.未解决问题 Compose系列文章,请点原文阅读.原文:是时候学习Compose了! 1.属性一览 目前基于al ...

  2. 安卓开发: Jetpack compose + kotlin 实现 俄罗斯方块游戏

    文章目录 前言 俄罗斯方块开发文档 1.摘要 2.开发工具选取 2.1.Compose 的自身优点 2.2.数据驱动界面 3.设计需求 3.1.功能需求 3.1.1.基本游戏功能 3.1.2.拓展功能 ...

  3. Jetpack Compose 实现渐显爱心

    首先实现红色爱心图标 Box() {Icon(Icons.Filled.Favorite,contentDescription = null,modifier = Modifier.align(Ali ...

  4. Jetpack Compose - Button

    Jetpack Compose - Button 1.Button 1.1.属性一览 1.2.使用示例 2.TextButton 2.1.属性一览 2.2.使用示例 3.OutlinedButton ...

  5. Jetpack Compose - TextField

    Jetpack Compose - TextField 1.属性一览 2.使用示例 3.版本更新 4.未解决问题 Compose系列文章,请点原文阅读.原文,是时候学习Compose了! 1.属性一览 ...

  6. Jetpack Compose - DropdownMenu

    Jetpack Compose - DropdownMenu 0.介绍 1.属性一览 2.使用示例 3.版本更新 4.未解决问题 Compose系列文章,请点原文阅读.原文,是时候学习Compose了 ...

  7. 随输入动态改变ui_深入详解 Jetpack Compose | 优化 UI 构建

    人们对于 UI 开发的预期已经不同往昔.现如今,为了满足用户的需求,我们构建的应用必须包含完善的用户界面,其中必然包括动画 (animation) 和动效 (motion),这些诉求在 UI 工具包创 ...

  8. 移动开发 Jetpack Compose 组件布局

    Jetpack Compose 是用于构建原生 Android 界面的新工具包.它可简化并加快 Android 上的界面开发,使用更少的代码.强大的工具和直观的 Kotlin API,快速让应用生动而 ...

  9. Jetpack Compose Animations 超简单教程

    Node:本文基于Jetpack Compose 1.0.0-beta01 Animation是由state驱动的 Compose的核心思想状态驱动UI刷新,这一思想同样体现在动画上. Compose ...

最新文章

  1. python安装进度条不动_python – tkinter中的进度条不起作用
  2. 微信小程序---导航(navigator)
  3. java两人猜数字游戏,java之猜数字游戏
  4. 第四周项目三-随机数函数应用于游戏(小学生算术能力测试系统)
  5. Android地图 总于实现了!
  6. ACM入门之【拓扑排序】
  7. django第三天(路由基础和路由分配)
  8. 如何快速清空一个文件内容
  9. 最GIS应用案例——告诉你什么是GIS!
  10. winxp升级win7教程_PR CC 2015下载和安装教程
  11. (附源码)Springboot人体健康检测微信小程序 毕业设计012142
  12. selenium登录163邮箱,得到cookie,requests后续请求
  13. array方法常用记载
  14. Unity3D模型 | SolidWorks建模导入Unity
  15. 三分的多种写法及对应的精度 三分套三分原理
  16. POM文件配置的详解
  17. IO(BIO),NIO,AIO的深度解析和区别
  18. RestTemplate上传图片到指定接口
  19. oracle中before,oracle触发器before和after数据区别
  20. 3D建模布线需要注意哪些?

热门文章

  1. 腹肌练习能帮助燃烧腹部脂肪吗?看完再也没有疑惑了
  2. 花了10分钟,终于明白矩阵的逆到底有什么用
  3. MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may lead to errors
  4. 高等数学笔记-乐经良老师-第九章-重积分
  5. 使用BL0942 计量芯片获取计量数据
  6. UE4:Build Configuration和Config的解释
  7. office 论文 页码_WORD目录,页眉,页脚,页码设置技巧 为你的毕业论文收藏吧-以Word 2013演示...
  8. Problem B: 薪酬计算 之二
  9. 手机端搜狗输入法语音转文字的体验报告
  10. CloudCore引领核心网云化转型