鸿蒙启动页开发

鸿蒙启动页开发

1.1 更改应用名称和图标

1.更改应用图标

  1. 找到moudle.json5文件,找到应用启动的EntryAbility下面的icon,将原来的图标改成自己设置的即可

image-20250224120305604

2.更改应用名称

image-20250224120614234

image-20250302234913382

3.效果展示

image-20250302235217531

2.1 广告页面开发

image-20250302182914432

3.1 详细介绍

3.1.1 启动页面

import { PrivacyDialog } from '../views/components/PrivacyDialog'
import { router, window } from '@kit.ArkUI'
import { preferences } from '@kit.ArkData'
import { common } from '@kit.AbilityKit'@Entry
@Component
struct launchPage {//获取应用的上下文context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext//获取页面的上下文// context:Context = getContext()@StateisStore: boolean = trueaboutToAppear(): void {window.getLastWindow(getContext()).then(win => {win.setWindowLayoutFullScreen(true)})const store = preferences.getPreferencesSync(this.context, {'name': 'infoStore'})this.isStore = store.getSync('isStore', true) as booleanconsole.info(`userAction: ${this.isStore}`)}async saveInfo() {const store = preferences.getPreferencesSync(this.context, {'name': 'infoStore'})store.putSync('isStore', false)store.flush()}//在页面出现之后:需要展示弹窗onPageShow(): void {//isStore用于定义是否保存的标识  如果显示true,就不用打开自定义弹窗,直接跳到广告界面// promptAction.showToast({//   message: this.isStore+''// })if (this.isStore) {this.controller.open()} else {//跳到广告界面router.pushUrl({url: 'pages/AdvertisementPage'})}}// context:Context:getContext()controller: CustomDialogController = new CustomDialogController({builder: PrivacyDialog({cancel: () => {this.context?.terminateSelf()//不同意关闭应用},confirm: () => { //当你点击同意,就会调用saveInfo方法this.saveInfo()//TODO 跳到广告页面router.pushUrl({url: 'pages/AdvertisementPage'})},}),alignment: DialogAlignment.Bottom, //基准位置// offset:{dx:30,dy:30}}//设置弹窗位置)build() {Stack() {//设置第一层Image($r('app.media.back'))Column({ space: 10 }) {Image($r('app.media.study_app')).width(80).aspectRatio(1)Text('健康学习').fontSize(20).fontWeight(FontWeight.Bold)Text('学习总有新玩法').fontWeight(FontWeight.Bold)}.width('100%').height('100%').padding({top: 100})}.height('100%').width('100%')}
}

3.1.2 自定义弹层

import { router } from '@kit.ArkUI'@Preview
@CustomDialog
export struct PrivacyDialog {controller:CustomDialogController = new CustomDialogController({builder: ''})//定义两个用来接收的方法cancel:Function = ()=>{}confirm:Function = ()=>{}build() {Column(){Text('欢迎使用我的应用')Text('我们充分尊重用户的隐私权,并按照法律要求和业界成熟的安全标准,为您的个人信息提供相应的安全保护措施。')Text('协议隐私保护声明').fontColor('#007fdd').onClick(()=>{// TODOrouter.pushUrl({url:''})})Text('(以下简称为“本声明”)以便您了解我们如何搜集、使用、披露、保护、存储、及传输您的个人数据。请您仔细阅读本声明。如您有任何疑问,请告知我们。')Row(){Text('不同意').fontColor('#007fdd').onClick(()=>{this.controller.close()   //点击不同意,关闭this.cancel()})Blank()Text('同意').fontColor('#007fdd').onClick(()=>{this.controller.close()this.confirm()})}.width('70%')}}
}

3.1.3 广告页面

import { router, window } from '@kit.ArkUI'@Entry
@Component
struct AdvertisementPage {@State time: number = 5@State timeID: number = -1aboutToAppear(): void {window.getLastWindow(getContext()).then(win => {win.setWindowLayoutFullScreen(true)})}onPageShow(): void {this.timeID = setInterval(() => {console.log('test', this.time)if (this.time > 0) {this.time--} else if (this.time == 0) {clearTimeout(this.timeID)router.pushUrl({url: 'pages/Index'})}}, 1000)}build() {Stack() {Image($r('app.media.back'))Row() {Text('跳过广告' + this.time + 's').fontSize(20).backgroundColor('rgba(0,0,0,0.1)').padding(8).borderRadius(30)}.width('100%').height('100%').justifyContent(FlexAlign.End).alignItems(VerticalAlign.Top).padding({top: 30,right: 30})Row({ space: 10 }) {Image($r('app.media.study_app')).width(80).aspectRatio(1)Column({ space: 5 }) {Text('健康学习').fontSize(30)Text('学习总有新玩法').fontSize(20)}.height(80).justifyContent(FlexAlign.Start)}.width('100%').height('100%').justifyContent(FlexAlign.Center).alignItems(VerticalAlign.Bottom).padding({bottom: 16})}.height('100%').width('100%')}
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海市闵行区数据局调研云轴科技ZStack,共探数智化转型新路径

为进一步深化人工智能、大模型技术的应用,推动区域数字经济高质量发展,2025年2月27日,上海市闵行区数据局局长吴畯率队赴上海云轴科技股份有限公司(以下简称“云轴科技ZStack”)开展专题调研。此次调研旨在深入了解企业…

idea实现热部署

1.在pom.xml文件添加依赖 java <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency> 更新可见配置成功&#xff1a; 2.在appli…

61. Three.js案例-彩色旋转立方体创建与材质应用

61. Three.js案例-彩色旋转立方体创建与材质应用 实现效果 知识点 WebGLRenderer(WebGL渲染器) 构造器 WebGLRenderer( parameters : Object ) 参数类型描述antialiasBoolean是否执行抗锯齿(默认false)alphaBoolean是否包含alpha通道(默认false)方法 setSize( width…

使用JMeter(组件详细介绍+使用方式及步骤)

JSON操作符 在我们使用请求时,经常会遇到JSON格式的请求体,所以在介绍组件之前我会将介绍部分操作符,在进行操作时是很重要的 Operator Description $ 表示根元素 当前元素 * 通配符,所有节点 .. 选择所有符合条件的节点 .name 子元素,name是子元素名称 [start:e…

tomcat的安装与配置(包含在idea中配置tomcat)

Tomcat 是由 Apache 软件基金会开发的开源 Java Web 应用服务器&#xff0c;主要用于运行 Servlet 和 JSP&#xff08;JavaServer Pages&#xff09;程序。它属于轻量级应用服务器&#xff0c;适用于中小型系统及开发调试场景&#xff0c;尤其在处理动态内容&#xff08;如 Jav…

快速开始React开发(一)

快速开始React开发&#xff08;一&#xff09; React是一个JavaScript库&#xff0c;用于构建交互式网站&#xff0c;并且能够快捷创建SPA&#xff08;Single Page App&#xff09;&#xff0c;其组件化的思想也是被一再传播&#xff0c;无论是普通的Web网站还是嵌入移动端交互…

安装nvidia-docker 和设置docker 镜像源

Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit 可以先参考官方文档 下面的操作具体和官方文档类似 curl -fsSL https://mirrors.ustc.edu.cn/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-ke…

C++第二节:C/C++内存管理

1.C/C内存分布 【说明】 栈又叫堆栈--非静态局部变量/函数参数/返回值等等&#xff0c;栈是向下增长的。内存映射段是高效的I/O映射方式&#xff0c;用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存&#xff0c;做进程间通信。堆用于程序运行时动态内存分…

rust编程实战:实现3d粒子渲染wasm

源码 纯js实现 fps&#xff1a; wasm实现 通过对比可以看出来 wasm 实现的计算比纯js刷新相对稳定。

开放鸿蒙OpenHarmony 5.0.0 Release 兼容性测试实战经验分享

OpenHarmony 5.0版本的发布时间是2024年12月20日至21日。这个版本带来了许多新特性和改进。现在5.0出了两个release 版本&#xff0c;分别是5.0.0和5.0.1。 就在5.0版本发布不到2周的时间内&#xff0c;2025年01月01日起&#xff0c;不支持新产品基于老分支&#xff08;OpenHar…

deepseek在pycharm 中的配置和简单应用

对于最常用的调试python脚本开发环境pycharm&#xff0c;如何接入deepseek是我们窥探ai代码编写的第一步&#xff0c;熟悉起来总没坏处。 1、官网安装pycharm社区版&#xff08;免费&#xff09;&#xff0c;如果需要安装专业版&#xff0c;需要另外找破解码。 2、安装Ollama…

23种设计模式一览【设计模式】

文章目录 前言一、创建型模式&#xff08;Creational Patterns&#xff09;二、结构型模式&#xff08;Structural Patterns&#xff09;三、行为型模式&#xff08;Behavioral Patterns&#xff09; 前言 设计模式是软件工程中用来解决特定问题的一组解决方案。它们是经过验证…

spring boot整合flyway实现数据的动态维护

1、简单介绍一下flyway Flyway 是一款开源的数据库版本控制工具&#xff0c;主要用于管理数据库结构的变更&#xff08;如创建表、修改字段、插入数据等&#xff09;。它通过跟踪和执行版本化的迁移脚本&#xff0c;帮助团队实现数据库变更的自动化。接下来简单介绍一下flyway…

致远电子三合一8路串口服务器

ZLG致远电子全新推出国产化透传型三合一8路串口服务器&#xff0c;让用户轻松实现串口信号与以太网的无缝数据交互。性能强悍&#xff0c;等你来评&#xff0c;还有机会获得新年第一份心意&#xff01; GCOM88-2NET-P硬件速览 国产高性能816MHz处理器&#xff1b; 2路10/100M自…

20250304解决在飞凌的OK3588-C的Linux R4下解决使用gstreamer保存的mp4打不开

sync poweroff rootok3588:/# sync rootok3588:/# sync rootok3588:/# cd 107 rootok3588:/107# ls -l total 0 rootok3588:/107# sync rootok3588:/107# poweroff 20250304解决在飞凌的OK3588-C的Linux R4下解决使用gstreamer保存的mp4打不开 2025/3/4 10:58 缘起&#xff1a…

安路FPGA移植Cortex-M0内核

本文是关于基于安路FPGA EG4S20BG256移植Cortex M0内核的笔记。硬件平台使用硬木课堂的安路核心板&#xff0c;软件使用安路的TD5.6.2和keil5。&#xff08;博主刚学FPGA不久&#xff0c;文中有不足之处请帮忙指出&#xff09; 在移植之前&#xff0c;博主看了网上很多的文章、…

STM32——串口通信 UART

一、基础配置 Universal Asynchronous Receiver Transmitter 异步&#xff0c;串行&#xff0c;全双工 TTL电平 &#xff1a;高电平1 低电平0 帧格式&#xff1a; 起始位1bit 数据位8bit 校验位1bit 终止位1bit NVIC Settings一栏使能接受中断。 之前有设置LCD&#xff0c;…

flink集成tidb cdc

Flink TiDB CDC 详解 1. TiDB CDC 简介 1.1 TiDB CDC 的核心概念 TiDB CDC 是 TiDB 提供的变更数据捕获工具&#xff0c;能够实时捕获 TiDB 集群中的数据变更&#xff08;如 INSERT、UPDATE、DELETE 操作&#xff09;&#xff0c;并将这些变更以事件流的形式输出。TiDB CDC 的…

DeepSeek×博云AIOS:突破算力桎梏,开启AI普惠新纪元

背景 在全球人工智能技术高速迭代的背景下&#xff0c;算力成本高企、异构资源适配复杂、模型部署效率低下等问题&#xff0c;始终是制约企业AI规模化应用的关键。 DeepSeek以创新技术直击产业痛点&#xff0c;而博云先进算力管理平台AIOS的全面适配&#xff0c;则为这一技术…

ArcGIS Pro建库中常用公式的应用与技巧

在当今数字化的时代&#xff0c;地理信息系统&#xff08;GIS&#xff09;在各个领域都发挥着至关重要的作用。 ArcGIS Pro作为一款功能强大的GIS软件&#xff0c;为用户提供了丰富的工具和功能&#xff0c;使得数据处理、地图制作和空间分析变得更加高效和便捷。 本文将为您…