harmony开发之image组件的使用

news2024/11/23 15:32:50

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。

在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机、PC、智能音箱、耳机、AR/VR眼镜等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。

**********************************************************************************************************

image部件的使用

鸿蒙应用开发中常用的Ui组件,包括image、text、button、slider等,并详细讲解了它们的用法和语法。介绍了使用AQI框架开发鸿蒙应用的基本代码,包括页面构成和组件的使用。控制图片大小:通过使用Ul的button组件和rcui中的slider组件,实现了控制图片大小的功
能。加载本地图片:介绍了加载本地图片的三种方式,包括字符串、像素图、http和资源格式,以及对应的语法和使用场景。

图片来源黑马程序员

代码如下:

@Entry   //入口组件
@Component //装饰器
struct Index{
  @State message: string = 'Hello World'
  build(){
    Column({space:20}){//是垂直方向布置的容器控件
      Row(){//是水平布置的容器
        Image($r("app.media.icon"))//加载resource里面的图片
          .width(40)
          .height(40)
          .borderRadius(10)//边框圆角
          .interpolation(ImageInterpolation.High)//图片插值,变清晰
        Text(this.message)
          .fontSize(30)//固定大小
          .fontWeight(FontWeight.Bold)
          .fontColor("#36D")
          .onClick(()=>{//出发点击事件
            this.message="你好,初次见面"//出发文字改变
          })
      }
      TextInput({placeholder:"用户名"})
      TextInput({placeholder:"密码"})
        .type(InputType.Password)
        .showPasswordIcon(true)
      Button("登录")
//      .onClick()
      Row(){
        Checkbox()
        Text("记住我")
          .fontColor("#36D")
      }
      Image("https://img-blog.csdnimg.cn/874e0096778641a7bed24755366a3de9.png")//网路加载
//需要申请网络权限
        .width(200)
        .height(100)
        .borderRadius(10)//边框圆角
        .interpolation(ImageInterpolation.High)//图片插值
    }
    .width("100%")
  }
}

其中设置.interpolation(ImageInterpolation.High)//图片插值的方式,可以有效解决图片放大模糊失真的问题。

设置.width有两种方式一种是直接像素值,还有一种是百分比,根据使用场景进行选择使用!

申请网络权限的方式:在module.json5里面的module下面添加下面许可

详情参考:

访问控制授权申请-访问控制-安全-开发 | 华为开发者联盟 (huawei.com)

应用的APL(Ability Privilege Level)等级分为normal、system_basic和system_core三个等级,默认情况下,应用的APL等级都为normal等级。权限类型分为system_grant和user_grant两种类型。应用可申请的权限项参见应用权限列表。应用需要在工程配置文件中,对需要的权限逐个声明,未在配置文件中声明的权限,应用将无法获得授权。

需要注意的是:

需要参数是否为必填选项,并且注意申请的权限类型如果是user_grant那么必填参数会增加,需要说明为什么要使用该权限!

{
  "module": {
    "requestPermissions": [
      {
        "name":"ohos.permission.INTERNET"
      }
    ],
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [
      "phone"
    ],
    "deliveryWithInstall": true,
    "installationFree": false,
    "pages": "$profile:main_pages",
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntrance": "./ets/entryability/EntryAbility.ts",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:icon",
        "startWindowBackground": "$color:start_window_background",
        "visible": true,
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ]
      }
    ]
  }
}

使用模拟器进行测试:

需要注册账号登录,但是很简单,选择对应版本API的的模拟器或者远程设备进行test即可!

也可以下载模拟器,但是主要更改模拟器的型号为华为鸿蒙手机。

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

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

相关文章

在KeyarchOS上体验WildFly

一、浪潮信息KeyarchOS简单介绍 KeyarchOS具备稳定可靠、高效软硬协同、全天候运维、安全可信等特性,增强了对云计算、人工智能等场景的支持,性能稳定性领先,生态完善,符合金融、政务、能源、交通、通信、教育、医疗等关键行业的应用要求。具备非常广泛的应用。 官方地址&…

BACnet I/O模块在水利环境监测全自动控制系统中的应用:稳定、高效、实时

前言 “绿水青山就是金山银山”,水利环境一直是国际生态部门关注的重点。随着经济的发展、针对水利环境的监管也日趋严格,尤其是重点河、湖水系、水源地、城市内河等成为重点监管对象,监管力度也愈来愈严格,监测布点密度不断加大。…

linux交换分区管理SWAP

6.2.5 交换分区管理SWAP 6.2.5.1 概念 作用: ”提升“内存容量,防止OOM(out of memory,内存溢出)。 ​ 对应windows中的虚拟内存。 ​ 从功能上讲,交换分区主要是在内存不够用的时候,将部分内…

【Azure 架构师学习笔记】- Azure Databricks (2) -集群

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (1) - 环境搭建 前言 在上文中提到了ADB 的其中一个核心就是集群,所以这里专门研究一下ADB 的集群。 ADB 集群 首先了解一下ADB…

git 使用记录

远程仓库为空初始化 初始化本地仓库 git init 在本地仓库书写代码(这里可以编辑一个文本文件做测试,如hello.txt) 5)执行:git add 要让git管理的文件(git add hello.txt)>执行完此操作将我…

【Linux】Linux基础

文章目录 学习目标操作系统不同应用领域的主流操作系统虚拟机 Linux系统的发展史Linux内核版和发行版 Linux系统下的文件和目录结构单用户操作系统vs多用户操作系统Windows和Linux文件系统区别 Linux终端命令格式终端命令格式查阅命令帮助信息 常用命令显示文件和目录切换工作目…

数据湖和中央数据仓库的设计

设计数据湖或中央数据仓库是许多大型组织的主要职能,这些组织每天处理数百万笔交易,并对这些交易进行进一步的报告、预测或机器学习项目分析。 为了将所有来自源系统(我们称之为“上游”)到其他业务应用(所谓“下游”&…

解决(error) ERR Errors trying to SHUTDOWN. Check logs.问题~

该问题出现在我在使用shutdown关闭redis服务器时,出现该问题的原因是由于配置文件的日志文件位置未配置或者缺少日志文件 我自己出现该问题是因为缺少日志文件,解决步骤如下所示: 第一步:在该目录下使用touch命令创建日志文件 第…

测绘资质测绘设备检定、校准管理制度

测绘设备检定、校准管理制度 建立健全测绘仪器设备检定、校准管理制度,明确测绘仪器设备的检定、校准、日常管理等要求

Kafka安装与配置-shell脚本一键安装配置(单机版)

文章目录 前言使用shell脚本一键安装1. 复制脚本2. 增加执行权限3. 执行脚本4. 加载用户环境变量5. 启动/停止Kafka内置zookeeper6. 启动/停止Kafka单机版 总结 前言 本文介绍了使用Shell脚本一键安装Kafka的方法。通过复制脚本并执行,可以自动下载、安装和配置Kaf…

【链表Linked List】力扣-24 两两交换链表中的节点

目录 题目描述 解题过程 题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:he…

webAPL用户注册倒计时

上一篇文章我已经留下这个题 以下是这道题代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><t…

机器学习---线性回归算法

1、什么是回归&#xff1f; 从大量的函数结果和自变量反推回函数表达式的过程就是回归。线性回归是利用数理统计中回归分析来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。 2、一元线性回归 3、多元线性回归 如果回归分析中包括两个或两个以上的自变量&a…

文章解读与仿真程序复现思路——中国电机工程学报EI\CSCD\北大核心《基于自适应扩散核密度估计的时序相关概率最优潮流计算方法》

这个标题涉及到电力系统中潮流计算的一种方法&#xff0c;具体解读如下&#xff1a; 概述&#xff1a; 时序相关概率最优潮流计算方法&#xff1a; 这是一种电力系统中潮流计算的方法&#xff0c;其中考虑了时序&#xff08;时间序列&#xff09;和概率的相关性。概率最优潮流通…

MySQL 数据库如何实现 XA 规范?

本文我们来讨论 MySQL 的 XA 规范有哪些应用相关的内容。 MySQL 为我们提供了分布式事务解决方案&#xff0c;在前面的内容中提到过 binlog 的同步&#xff0c;其实是 MySQL XA 规范的一个应用&#xff0c;那么 XA 规范是如何定义的&#xff0c;具体又是如何应用的呢&#xff…

飞行汽车开发原理(上)

前言 小节的安排是由浅入深&#xff0c;要按顺序读&#xff1b;有电路知识基础的同学可跳到“计算机电路”一节开始。因为知识点之间有网状依赖&#xff0c;没办法按分类来讲。 为了避免过于深入、越讲越懵&#xff0c;很多描述仅为方便理解、不求严谨。 半导体特性 导体&a…

java学习part37定制排序和自然排序

150-常用类与基础API-使用Comparator接口实现定制排序及对比_哔哩哔哩_bilibili 1.自然排序 2.定制排序 对于一些排序方法&#xff0c;允许传入的话按定制的排序规则来&#xff0c;不传入默认按自然排序来。 匿名方式 3区别

5-Tornado入门、程序的原理图、tornado不能使用同步代码的演示

安装 pip install tornado第一个程序 from tornado import web from tornado import ioloop class IndexHandler(web.RequestHandler):def get(self):self.write(Hello Tornado!!123)if __name__ __main__:# 1.创建了app对象&#xff0c;设置路由,并开启debug模式app web.A…

17、迭代器模式(Iterator Pattern)

迭代器模式提供了顺序访问集合对象中的各种元素&#xff0c;而不暴露该对象内部结构的方法。如Java中遍历HashMap。 迭代器模式将遍历集合中所有元素的操作封装成迭代器类&#xff0c;其目的是在不暴露集合对象内部结构的情况下&#xff0c;对外提供统一访问集合的内部数据的方…

Python OS模块常用方法整理

os模块包含了普遍的操作系统和文件目录方法 引入类库 首先需要引入类库 import os 常用方法 OS模块方法 获取操作系统类型 nt->window:Microsoft Windows NT posix->Linux/Mac OS: Portable Operating System Interface of UNIX&#xff08;可移植操作系统接口&…