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

android开发compose系列之Icon

文章目录

  • 前言
  • 一、使用
  • 二、官方Icon图库的引入

前言

Icon是compose中专门用来展示小图标的组件,传统的View体系中没有对应的控件,该组件支持三种不同类型的图片设置:imageVector矢量图(可显示SVG格式的图标)、ImageBitmap位图(可显示JPG、PNG等格式图标)、Painter自定义画笔(可直接用画笔再Canvas上绘制图标,也可以同res/下的图片资源)


一、使用

运行结果如图:

常用的三种设置图标方式:

Column(){//垂直排列的布局//加载矢量图Icon(imageVector=ImageVector.vectorResource(R.drawable.icon_favorite_svg),"收藏矢量图",//无障碍描述tint=Color.Red)//对矢量图的颜色改变//加载jpg/png图Icon(bitmap=ImageBitmap.imageResource(R.drawable.icon_favorite_bitmap),"收藏的位图",tint=Color.Unspecified// 关键:禁用默认的黑色色调,因为该图片是黑色轮廓透明背景)//加载任意类型图标Icon(painter=painterResource(R.drawable.icon_favorite_svg),contentDescription="收藏的任意类型资源")}

二、官方Icon图库的引入

Material 包有很多预置的矢量图标,通常可以直接调用该库中的矢量图进行设置,Material 包每个图标都提供了五种风格可供使用,包括 Filled, Outlined,Rounded,Sharp,Two tone 等,都可以通过 Icons.xxx.xxx 的方式调用,具体可参考如下:

Icon(imageVector=Icons.Default.CheckCircle,//官方默认的矢量图库,只提供部分图标contentDescription="无障碍描述",tint=Color.Red//图标颜色的设置)Icon(imageVector=Icons.Outlined.CheckCircle,//勾勒轮廓类型contentDescription="无障碍描述")Icon(imageVector=Icons.Filled.CheckCircle,//图形填充类型contentDescription="无障碍描述")Icon(imageVector=Icons.Rounded.CheckCircle,//端点均为圆角类型contentDescription="无障碍描述")Icon(imageVector=Icons.Sharp.CheckCircle,//端点均为尖角类型contentDescription="无障碍描述")Icon(imageVector=Icons.TwoTone.CheckCircle,//双色配合角类型contentDescription="无障碍描述")

注:
Material 包只提供了部分图标,更多需要可引入扩展库:implementation
“androidx.compose.material:material-icons-extended:$compose_version”(与当前项目版本号一致即可)
Material版本号情况查询:https://central.sonatype.com/search?q=material-icons-extended
Material设计库全部图标查询:https://fonts.google.com/icons?selected=Material+Symbols+Outlined:translate:FILL@0;wght@400;GRAD@0;opsz@24&icon.size=24&icon.color=%231f1f1f&icon.platform=android&icon.query=translate

可在该库中找到所需矢量图,根据其命名找到对应图标

http://www.jsqmd.com/news/89239/

相关文章:

  • 重构智慧书-第13条:先知他人别有所图的心思,再伺机行事
  • LED照明技术趋势解读与选购关键参数指南
  • 两次大作业--总结
  • 金属熔凝数值模拟这玩意儿玩起来真是上头,特别是用Fluent搞激光加工的时候。今天咱们就唠点干货,从热源跳舞到代码蹦迪,保准让你少走三年弯路
  • 哈希函数特性总结
  • 七自由度车辆动力学模型验证:基于Dugoff轮胎模型与CarSim的探索
  • 25
  • 129_尚硅谷_变量作用域
  • 探索改进蜣螂优化算法(IDBO):提升性能的多维度创新
  • 系统流异世探险动态漫制作2025推荐,全方位解析
  • LaTeX | 文档单位排版宏包选型与使用
  • 【JAVA项目】基于JAVA的养老院管理系统
  • 想让你的标书不废标应该这样做
  • AI大模型应用开发学习-22【20251213】
  • Ubuntu硬盘空间不够?一文带你理清过程的根分区无损扩容实战指南
  • 最近在实验室折腾三相逆变器的控制方案,发现双闭环结构真是越玩越有意思。今天就拿Simulink仿真过程当案例,聊聊那些让人又爱又恨的调试细节
  • JMeter自搭与商用压测平台:效率成本对比及最优方案推荐
  • vscode c / cpp 关闭红色波浪线
  • 爬取京东商品评论 - f
  • 前端技术风险防控:以防为主,防控结合
  • 006发布文章测试用例
  • XXL-TOOL v2.4.0 发布 | 布隆过滤器、Excel流式读写、高性能BeanCopy
  • 使用哈希函数存储密码时为什么要加“盐”?
  • 给女神发“在吗”,她回了个表情包是几个意思?—— 硬核探讨TCP 三次握手
  • 抖音卖货起号精细化运营第一天看懂五维四率复盘
  • 力扣 Hot 100 之 206. 反转链表:面试官的“开胃菜”
  • 课程设计自主选题————图书管理系统
  • AI 工具实战测评:它们到底是“生产力工具”,还是“智商税”?
  • 10394_基于Springboot的社区生活事务管理系统
  • vue基于Spring Boot的灌区取用水量调配信息管理系统的应用和研究_2dw80bw4