图片组件|纯血鸿蒙组件库AUI

article/2025/6/8 10:13:52

摘要:

图片组件(A_Image):可设置图片地址、图片宽度、图片高度、圆角类型及是否显示外框线。圆角类型支持普通圆角、圆形及无圆角。

一、组件调用方式

1.极简调用

只需要输入A_Image,然后给src(图片地址)属性赋值即可。默认宽度和高度均为300vp,方角。

2.更多属性

输入A_Image,然后给src(图片地址)属性赋值,可设置图片宽度(imageWidth)、图片高度(imageHeight)、圆角类型(radius)和使用外框线(imageOutline)。

3.圆形图片

输入A_Image,然后给src(图片地址)属性赋值,可设置图片宽度(imageWidth),将圆角类型 radius设置为 circle(圆形)。如下图所示:

页面调用代码如下:

  GridCol({ span: 4 }) {A_Image({src: 'https://cdn.aigcoder.com/sample/Image/image1.jpeg',imageWidth: 300,imageHeight: 300,})}GridCol({ span: 4 }) {A_Image({src: 'https://cdn.aigcoder.com/sample/Image/image4.jpeg',imageWidth: 240,imageHeight: 160,radius: 'radius',imageOutline: true})}GridCol({ span: 4 }) {A_Image({src: 'https://cdn.aigcoder.com/sample/Image/image2.jpeg',imageWidth: 120,imageHeight: 300,radius: 'circle',})}

本地模拟器下浅色模式和深色模式运行效果如下:

二、在线排版

1.极简调用

1.1、将图片组件拖拽到页面排版区

1.2、设置图片地址

1.3、保存设置

2.更多属性

2.1、将图片组件拖拽到页面排版区

2.2、设置图片地址、宽度、高度、圆角类型、显示外框线

2.3、保存设置

3.圆形图片

3.1、将图片组件拖拽到页面排版区

3.2、设置宽度,圆角设置为圆形

3.3、保存设置

生成纯血鸿蒙代码:

三、组件源码

图片组件的完整源码如下:

/** Copyright (c) 2024 AIGCoder.com(AI极客)* Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at**     http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*//**调用示例一:极简调用A_Image({src: 'https://cdn.aigcoder.com/sample/Image/image1.jpeg'})调用示例二:更多属性A_Image({src: 'https://cdn.aigcoder.com/sample/Image/image4.jpeg',imageWidth: 300,imageHeight: 200,radius: 'radius',imageOutline: true})*/import { ColorConstants } from "../../constants/ColorConstants"
import { FloatConstants } from "../../constants/FloatConstants"
import { GirdConstants } from "../../constants/GirdConstants"/*** 【图片】* src:图片地址(支持远程图片和本地资源)* imageWidth:图片宽度* imageHeight:图片高度* radius:圆角类型(支持radius,circle,normal)* imageOutline:是否显示外框线*/
@Component
export struct A_Image {@Prop src: string = ''@Prop imageWidth?: number@Prop imageHeight?: number@Prop radius?: string = 'normal'@Prop imageOutline?: boolean = false@State compWidth: number = 150@State compHeight: number = 150aboutToAppear(): void {if(this.imageWidth !== undefined){this.compWidth = this.imageWidth}if(this.imageHeight !== undefined){this.compHeight = this.imageHeight}if(!(this.src.startsWith("http://") || this.src.startsWith("https://"))){this.src = this.src === '' ? 'app.media.mdi_image' : 'app.media.' + this.src}}build() {Flex({justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center}){Image((this.src.startsWith("http://") || this.src.startsWith("https://")) ? this.src : $r(this.src)).width(GirdConstants.FULL_PERCENT).height(GirdConstants.FULL_PERCENT).objectFit(ImageFit.Cover).opacity((this.src === '') ? 0.6 : 1).borderRadius((this.radius == 'radius') ? FloatConstants.RADIUS_ICON : ((this.radius == 'circle') ? this.compWidth/2 : 0))}.width(this.compWidth).height(this.radius == 'circle' ? this.compWidth : this.compHeight).padding(this.imageOutline ? FloatConstants.SPACE_S : 0).backgroundColor(ColorConstants.CARD_BG).borderRadius((this.radius == 'radius') ? FloatConstants.RADIUS_ICON : ((this.radius == 'circle') ? this.compWidth/2 : 0))}
}

四、资源下载 

AIGCoder.com-AI极客


    http://www.hkcw.cn/article/cwPwlZprbq.shtml

    相关文章

    tGSSA-LSTM多输入回归|改进麻雀优化-长短期记忆神经网络|Matlab回归通用

    目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、方法原理介绍: 四、完整程序下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台编译…

    【吾爱】逆向实战crackme160破解记录(二)

    前言 最近在拿吾爱上的crackme程序练练手,发现论坛上已经有pk8900总结好的160个crackme,非常方便,而且有很多厉害的前辈已经写好经验贴和方法了,我这里只是做一下自己练习的记录,欢迎讨论学习,感谢吾爱论坛…

    C# Onnx 动漫人物人脸检测

    目录 效果 模型信息 项目 代码 下载 参考 效果 模型信息 Model Properties ------------------------- stride:32 names:{0: face} --------------------------------------------------------------- Inputs ------------------------- name&am…

    使用cmd命令行创建数据库和表-简单步骤记录

    前提: 已安装MySQL 步骤: 1.WinR,回车,输入cmd,回车 2.输入 mysql -u root -p 后,输入自己的密码,看到welcome等字样就是成功登录了MySQL 3.创建数据库 create database success; &#xff0…

    Centos7使用rpm升级glibc2.28

    Centos7使用rpm升级glibc2.28 检查glibc版本下载glibc2.28的rpm包使用rpm包升级到glibc-2.28结果验证 检查glibc版本 ldd --version下载glibc2.28的rpm包 参考: https://www.cnblogs.com/caya-yuan/p/10561439.html 下载 glibc、make 的 feroda29(fc29)系统 rpm包…

    堆叠弹窗 VS 队列弹窗之争

    前言 如果一个页面上有多个弹窗,设计上是把前一个弹窗暂时隐藏还是盖住前一个弹窗多一点? 在多弹窗设计的情境下,最佳实践通常倾向于以下两种处理方式: 1、堆叠弹窗 新弹窗覆盖旧弹窗,但每个弹窗保持完整显示&#…

    刷leetcode hot100返航必胜版--链表6/3

    链表初始知识 链表种类:单链表,双链表,循环链表 链表初始化 struct ListNode{ int val; ListNode* next; ListNode(int x): val(x),next(nullptr) {} }; //初始化 ListNode* head new ListNode(5); 删除节点、添加…

    [概率论基本概念4]什么是无偏估计

    关键词:Unbiased Estimation 一、说明 对于无偏和有偏估计,需要了解其叙事背景,是指整体和抽样的关系,也就是说整体的叙事是从理论角度的,而估计器原理是从实践角度说事;为了表明概率理论(不可…

    React-native之Flexbox

    本文总结: 我们学到了 React Native 的 Flexbox 布局,它让写样式变得更方便啦!😊 Flexbox 就像一个有弹性的盒子,有主轴和交叉轴(行或列)。 在 RN 里写样式要用 StyleSheet.create 对象,属性名…

    学习日记-day21-6.3

    完成目标: 目录 知识点: 1.集合_哈希表存储过程说明 2.集合_哈希表源码查看 3.集合_哈希表无索引&哈希表有序无序详解 4.集合_TreeSet和TreeMap 5.集合_Hashtable和Vector&Vector源码分析 6.集合_Properties属性集 7.集合_集合嵌套 8.…

    ABP-Book Store Application中文讲解 - Part 6: Authors: Domain Layer

    ABP-Book Store Application中文讲解 - Part 6: Authors: Domain Layer 1. 汇总 ABP-Book Store Application中文讲解-汇总-CSDN博客 2. 前一章 ABP-Book Store Application中文讲解 - Part 5: Authorization-CSDN博客 项目之间的引用关系。 ​ BookAppService利用的是Cu…

    智慧高铁站:数字时代交通枢纽的标杆

    智慧高铁站作为现代综合交通体系的核心节点,通过数字技术与基础设施的深度融合,正在重塑旅客出行体验与车站运营模式。这一转型不仅体现在技术应用层面,更代表着交通服务理念的根本性变革,为现代交通枢纽建设树立了全新标杆。 一、…

    ARM架构推理Stable Diffusiond

    代码仓库: https://github.com/siutin/stable-diffusion-webui-docker.git Docker容器地址: https://hub.docker.com/r/siutin/stable-diffusion-webui-docker/tags git clone https://github.com/siutin/stable-diffusion-webui-docker.git cd stabl…

    关于 KWDB 数据存储的几件事儿

    邻近粽子节,KWDB 的朋友给我发消息,问我吃过红茶味的粽子没,作为北方人的我一般只吃蜜枣白粽,还没见过茶香粽子,顶多泡碗祁红,就着茶水吃粽子。 她又问道,两个月时间到了,你准备好了…

    酵母杂交那些事儿(一)

    酵母单杂、酵母双杂、酵母三杂,仅仅一个字的区别,你对它们了解吗?这些经常用到的实验,它们的原理你确定都搞清楚了吗?如果没有,那么今天你就来对地方了,因为伯远生物(https://plant.…

    sqlite3 命令行工具详细介绍

    一、启动与退出 启动数据库连接 sqlite3 [database_file] # 打开/创建数据库文件(如 test.db) sqlite3 # 启动临时内存数据库 (:memory:) sqlite3 :memory: # 显式启动内存数据库文件不存在时自动创建不指定文件名则使用临时内…

    项目开发:【悟空博客】基于SSM框架的博客平台

    目录 一.导入 1.Spirng框架 2.SpirngMVC 二.项目介绍 (一)项目功能 (二)页面展示 1.注册页面 2.登录页面 3.列表页面 4.详情页面 5.编辑页面 三.准备工作 1.用户表——userinfo 2.文章表——articleinfo 3.插入数…

    大话软工笔记—分离之组织和物品

    一. 组织 组织在架构中既不属于“业务架构”,也不属于“管理架构”,它是由组织结构、角色、权限等要素构成。 1. 组织的概念 组织(名词),将资源按照某个目标构建出一个有层次的集合体,即组织结构。 组织…

    伊吖学C笔记(5、数组、表达式、考题设计)

    一、数组 数组是由同一种类数据构成的集合。就好比一个班所有同学的身高,一个月的日平均气温,抽样调查的一百个数据...等等,都可以当作一个数组。构建数组是为了对同类的多个数据实行高效管理。 1.数组定义 格式:类型说明 数组…

    由docker引入架构简单展开说说技术栈学习之路

    想象一下,你开了一家线上小卖部(单机版),突然爆单了怎么办?别急,技术架构的升级打怪之路,可比哆啦A梦的口袋还神奇! 第1关:单枪匹马的创业初期(单机架构&…