Android开发系列(五)Jetpack Compose之Icon Image

news2024/11/28 20:55:30

   Icon是用于在界面上显示矢量图标的组件。它提供了很多内置的矢量图标,也支持自定义图标。要使用Icon组件,可以通过指定图标资源的名称或引用来创建一个Icon对象。例如,使用Icons.Default.Home来创建一个默认风格的首页图标。可以通过设置图标的大小、颜色、和点击事件等属性来自定义Icon的外观和行为。

    Image是用于在界面上显示位图图像的组件。它支持从本地资源、网络URL或图像字节数组加载图像。要使用Image组件,可以通过指定图像资源的路径或源来创建一个Image对象。

    下面分别通过示例了解这两个组件的用法。

Icon

    Icon的使用示例如下。

    在Icon函数各个参数的解析如下。

  1. imageVector表示矢量图,这里Icons.Default.Person官方图标库中的图标。
  2. contentDescription描述,用于对该图标的功能,没有描述设置为null即可。
  3. tint 色调,用于设置图标的颜色。
  4. painter, Painter是对可画东西的抽象,可以通过不同的方式创建Painter对象,painterResource从资源文件构造Painter对象。通过该方法可以使得Icon显示本地资源中的图标文件

Image

    Image的使用方法与Icon比较相似,Image主要加载图片,当图片的宽高比例与Image的不一致时,Image通过contentScale可以设置不同的缩放方式,默认情况下,如果您未指定 contentScale 选项,系统将使用 ContentScale.Fit。下面分别通过显示效果来了解这几种缩放方式

 

将缩放方式设置为裁剪模式,通过Modifier设置形状可以裁剪图片。

   第1个裁剪的形状为CircleShape为圆形。

  第2个裁剪形状为RoundCornerShape为圆角矩形。

   在裁剪形状的基础上还可以加上边框,示例如下。

    Modifier的border用于设置边框,第1个参数BorderStroke用于指定边框的宽度和颜色,第2个参数指定边框的形状。

    边框的颜色还可以使用渐变色,示例如下

    通过Brush可以定义渐变色,通过BorderStroke把渐变色设置给边框。

   最后一个示例是把图标变为黑白色,在某些特殊的日子需要显示黑白主题,这个就比较有用,不用再重新做一份黑白的图片。

  颜色矩阵 ColorFilter 选项可用于转换图片。只需对图片应用黑白滤镜,使用 ColorMatrix 并将饱和度设置为 0f,就得到黑白图片。

示例代码已上传到github,地址如下

示例代码工程地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1848158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

免费体验软件开发生产线 CodeArts

软件开发生产线 CodeArts 一站式、全流程、安全可信的软件开发生产线,开箱即用,内置华为多年研发最佳实践,助力效能倍增和数字化转型 免费试用体验版套餐,50人内免费试用 功能特性 Scrum和看板需求模型 代码托管 代码检查&am…

DN-DETR

可以看到,与 DAB-DETR 相比,最大的差别仍然在 decoder 处,主要是 query 的输入。DN-DETR 认为可以把对 offsets 的学习,看作一种对噪声学习的过程,因此,可以直接在 GT 周围生成一些 noised boxes&#xff0…

手写方法实现整型例如:123与字符串例如:“123“相互转化(下篇)

目录 一、前言 二、整型转化为字符串 1. 初始化变量 2.数字1转字符1 3.取出value中的每一项数字 4.将字符放入字符数组中 5.最终代码 三、最后 一、前言 本篇文章紧跟上篇文章,本片内容为整型转化为字符串类型。至于我为什么要分两篇文章,主要…

ATA-4051C高压功率放大器在压电电机中的作用是什么

压电电机是一种特殊的电机,其工作原理基于压电效应,这是一种将电能转化为机械振动的现象。压电电机通常用于精密定位、振动控制和声波生成等应用。为了驱动和控制压电电机,需要高压功率放大器。下面将介绍高压功率放大器在压电电机中的作用&a…

信创CPU秘史(上):大厂销售的路子有多野?

最近接到一份金融行业粉丝的投稿,内容之奇令人咋舌,尽是些闻所未闻的新知识。无论是内容本身,还是获取内容的渠道,都非常有意思。今年我们把舞台交给老金,一起来听听信创大厂间的那些小秘密。 大家好,我叫老…

你知道什么是微调吗?大模型为什么要微调?以及大模型微调的原理是什么?

“ 预训练(pretrain)微调(finetuning),是目前主流的范式**”** 在学习大模型的过程中,怎么设计神经网络和怎么训练模型是一个重要又基础的操作。 但与之对应的微调也是一个非常重要的手段,这里就着重讲一下为什么要微调,其优点是…

树和二叉树的定义

目录 一、树的定义 1.1概念 1.2表示方式 1.3基本术语 1.4树结构和线性结构的比较 二、二叉树的定义 2.1概念 2.2二叉树的5种基本形态 三、二叉树的性质和存储结构 3.1二叉树的性质 3.1.1满二叉树 3.1.2完全二叉树 3.2二叉树的存储结构 3.2.1二叉树的顺序存储 3.2.…

何在 Vue3 中使用 Cytoscape 创建交互式网络图

本文由ScriptEcho平台提供技术支持 项目地址:传送门 Vue.js 中加载 Cytoscape.js 的技术实现 应用场景 Cytoscape.js 是一个用于创建交互式网络的可视化库。在生物信息学、社会网络分析和药物发现等领域中得到了广泛应用。 基本功能 本代码片段演示了如何在 V…

智能虚拟集群系统在酒店楼宇中的应用

随着城市化建设的不断发展,酒店楼宇等建筑规模不断扩大、地面/地下楼层不断增加。面对日益复杂的通信环境,酒店服务和管理人员对无线通信系统的稳定性、覆盖范围、话音清晰度、应急响应能力等方面均提出了更高的需求。 需求痛点 面对繁忙的工作&#x…

【源码+硬件说明+接线】Arduino-ESP32 http访问播放网络mp3音乐并获取获取远程服务器文件并存SD卡

前言 最近跟浩楠哥接了一个外包,不得不说人总得逼自己一把就可以学到很多东西,这次收获不小,就把一部分困扰我一段时间的部分放出来给大家看看,避免大家踩我相同的坑 1. 硬件准备 1.1 Esp32Wroom 主控使用esp32Wroom,我具备蓝牙,wifi,低功耗蓝牙功能,配合Arduino库作…

ffmpeg windows系统详细教程

视频做预览时黑屏,但有声音问题解决方案。 需要将 .mp4编成H.264格式的.mp4 一般上传视频的站点,如YouTube、Vimeo 等,通常会在用户上传视频时自动对视频进行转码,以确保视频能够在各种设备和网络条件下流畅播放。这些网站通常…

记一次网站违规风险百度统计被禁用的经历及解决方法

今天登陆百度统计,提示:网站由于存在合规风险将被暂停使用百度统计服务。 为了满足法律法规及政府监管的最新规定和要求,保护广大网民的合法权益,您的网站由于存在合规风险将被暂停使用百度统计服务。违规域名:xxxxxx.…

2024数据库期末综合(第9关:索引)

第9关:索引(注意看下面的温馨提示!!) 任务描述 湖南人口hnpeople数据表结构如图所示,各字段含义如下 cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)…

跨境电商-Ozon平台开店指南-魔行观察

商家入驻开店指南 第1步:注册并激活您的帐户 对于独联体以外的卖家:法人实体可以在平台上注册。如果您是个体经营户,请您首先开设一家公司。个体经营户(土耳其的个体经营户除外)不能在我们的平台上注册。 进行注册 …

【AI基础】大模型资源整理

开局一张图,全靠硬凑: 硬拼一个雷达图: AI大模型,这是核心智能助手,基于大模型搭建的拿来就用的成熟应用平台应用分享,基于大模型搭建的拿来就用的小应用AI开发,基于大模型开发小应用 学习资源…

【扫雷游戏】C语言实现

机器学习:Transformer框架理论详解和代码实现>Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属…

DS知识点总结--线性表定义及顺序表示

数据结构知识点汇总(考研C版) 文章目录 数据结构知识点汇总(考研C版)二、线性表2.1 线性表的定义和操作2.1.1 线性表的定义2.1.2 线性表的基本操作 2.2 线性表的顺序表示2.2.1 顺序表的定义2.2.2 顺序表上的基本操作的实现 二、线性表 2.1 线性表的定义和操作 2.1.1 线性表的…

纯C实现的ymodem库,无额外依赖

本文目录 1、引言2、理论2.1 YMODEM协议的主要特点2.2 YMODEM的工作原理 3、代码3.1 main.cpp3.2 ymodem.c 3.3 ymodem.h 4、验证4.1 ymodem发送4.2 ymodem接收 5、移植说明 文章对应视频教程: 暂无,可以关注我的B站账号等待更新。 点击图片或链接访问我…

纳米硅(SiNP)可用于制造锂离子电池 纳米硅粉为其代表产品

纳米硅(SiNP)可用于制造锂离子电池 纳米硅粉为其代表产品 纳米硅(SiNP)指尺寸在纳米尺度范围内的硅颗粒。纳米硅具有光吸收谱宽、表面活性高、比表面积大、机械强度高、电学性能好等优势,在石油化工、建筑工程、电子电…

Docker 搭建 MinIO 对象存储

Docker 搭建 MinIO 对象存储 一、MinIO MinIO 是一个高性能的对象存储服务器,用于构建云存储解决方案。MinIO 允许你存储非结构化数据(如图片、视频、日志文件等)以对象的形式。MinIO 提供简单的部署选项和易于使用的界面,允许你…