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

淮北 网站建设郑州网站定制

淮北 网站建设,郑州网站定制,1G免费网站空间,公司名字大全免费测吉凶介绍 为了便于大家在使用本案例集时能够更详细的了解各个案例,本案例基于Web预渲染实现了案例介绍功能,即应用右下角的问号icon。 效果图预览 使用说明 因为直接加载的线上README,因此本功能需联网使用点击icon,即会弹出对应案…

介绍

为了便于大家在使用本案例集时能够更详细的了解各个案例,本案例基于Web预渲染实现了案例介绍功能,即应用右下角的问号icon。

效果图预览

在这里插入图片描述
使用说明

  1. 因为直接加载的线上README,因此本功能需联网使用
  2. 点击icon,即会弹出对应案例的README
  3. 按钮可拖动
  4. 返回或下拉bindSheet上方的dragBar可隐藏帮助页

案例适配说明

为确保案例正确显示其README,请确保entry模块的依赖中@ohos/xxx中的xxx与案例目录名相同

实现思路

1.使用Stack承载Navigation,从而使得icon能够在应用的各个案例(NavDestination承载)上显示。

Stack() {Navigation(this.pageStack) {//...}// 帮助功能:在每个案例的右下角添加“帮助”功能HelperView()
}

2.使用BindSheet+WebView加载仓上各模块README。

build() {Image($r("app.media.help")).bindSheet($$this.isShowReadMe, this.buildReadMeSheet(), {//...})
}@Builder
buildReadMeSheet(): void {//...
}

3.使用webview预渲染提升用户体验,复用webview实例减少资源占用。

@Builder
function WebBuilder(data: Data) {Web({ src: data.url, controller: data.controller }).onPageBegin(() => {data.controller.onActive();})
}const wrap: WrappedBuilder<Data[]> = wrapBuilder<Data[]>(WebBuilder);export class NWebNodeController extends NodeController {private rootNode: BuilderNode<Data[]> | null = null;makeNode(uiContext: UIContext): FrameNode | null {if (this.rootNode) {return this.rootNode.getFrameNode();}return null; // 返回null控制动态组件脱离绑定节点}initWeb(url: string, uiContext: UIContext, controller: WebviewController) {if (this.rootNode) {return;}this.rootNode = new BuilderNode(uiContext);this.rootNode.build(wrap, { url: url, controller: controller });}
}interface CurrentNode {url: string | null;webController: webview.WebviewController | null;nWebController: NWebNodeController | null;
}/*** 复用webview*/
function loadUrl(url: string): void {if (currentNode.webController) {currentNode.url = url;currentNode.webController.loadUrl(url);}
}const currentNode: CurrentNode = { url: null, nWebController: null, webController: null };/*** 创建web实例,如果已经存在web实例,复用* @param url* @param uiContext*/
export function createNWeb(url: string, uiContext: UIContext): void {if (currentNode.webController && currentNode.nWebController && currentNode.url !== url) {loadUrl(url);return;}clearHelperWeb();let baseNode = new NWebNodeController();let controller = new webview.WebviewController();// 初始化自定义web组件baseNode.initWeb(url, uiContext, controller);currentNode.url = url;currentNode.webController = controller;currentNode.nWebController = baseNode;
}/*** 获取NodeController*/
export function getNWeb(url: string, uiContext: UIContext): NWebNodeController | null {if (currentNode.url != url) {loadUrl(url);}return currentNode.nWebController;
}/*** 停止页面加载:当url频繁切换时使用*/
export function stopWebLoad(): void {if (currentNode.url && currentNode.webController) {currentNode.webController.stop();}
}

4.监听NavPathStack的变更,及时切换url

onPageStackChange(): void {if (!this.pageStack.size()) {this.helperUrl = HelperConstants.HELPER_URL_HOME;} else {const size: number = this.pageStack.size();let moduleName: string = this.pageStack.getAllPathName()[size-1].split('/')[1];this.helperUrl = HelperConstants.HELPER_URL_PROTOTYPE.replace("{placeholder}", moduleName);}
}

为了帮助大家更深入有效的学习到鸿蒙开发知识点,小编特意给大家准备了一份全套最新版的HarmonyOS NEXT学习资源,获取完整版方式请点击→HarmonyOS教学视频:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

HarmonyOS教学视频:语法ArkTS、TypeScript、ArkUI等…视频教程

在这里插入图片描述
在这里插入图片描述

鸿蒙生态应用开发白皮书V2.0PDF: 获取完整版白皮书方式请点击→https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG?u=a42c4946d1514235863bb82a7b2ac128

在这里插入图片描述

鸿蒙 (Harmony OS)开发学习手册→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

一、入门必看

1.应用开发导读(ArkTS)
2………
在这里插入图片描述

二、HarmonyOS 概念→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.系统定义
2.技术架构
3.技术特性
4.系统安全
5…

在这里插入图片描述

三、如何快速入门?→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.基本概念
2.构建第一个ArkTS应用
3…

在这里插入图片描述

四、开发基础知识→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS语言
在这里插入图片描述

五、基于ArkTS 开发→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
在这里插入图片描述

更多了解更多鸿蒙开发的相关知识可以参考:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

http://www.yayakq.cn/news/465779/

相关文章:

  • 可以做设计兼职的网站什么是软件开发工程师
  • 东莞南城电子网站建设江西省工程建设信息官方网站
  • 西安云众网站建设提高wordpress性能宝塔
  • 做网站开发学什么语言网站建设丿金手指专业
  • 买域名的网站沈阳市做网站的公司
  • 国内建设网站wordpress 文章置顶显示
  • 网站建设多少钱一个月什么网站可以做字体效果图
  • 做网站 图片显示不出来wordpress翻译怎么用
  • 中山网站建设开发古冶区城乡建设局网站
  • 网站后台管理系统html下载pjax wordpress
  • 深圳微信分销网站制作合肥建站方案
  • 适合学生做网页练习的网站常见网站建设
  • 三乡网站建设公司杭州有几个区
  • 长沙学做网站建设浏览器官网入口
  • 长沙网站建设有哪些没有公司地址怎么注册公司
  • 网站销售怎么样的平面设计基础学什么
  • 伊宁网站建设优化电子商务网站建设 教案
  • 高职专业建设管理网站可以制作视频的软件有哪些
  • 怎样做网站的用户分析源码屋整站源码
  • 自助建站帮助网做网站特别注意什么
  • 建设企业网站的需求分析西宁做网站的网络公司
  • 网站做百度推广有没有效果wordpress特效插件
  • 民权县住房和城乡建设局网站免费推广预期效果
  • 家具东莞网站建设技术支持济南 网站定制
  • 玩具外贸网站html简单登录页面代码
  • 免费建站的网址视频微网站开发
  • 石家庄 网站建设 15369356722手机如何制作游戏软件
  • 韶关网站建设科技有限公司网站做区块链然后往里面投钱
  • 网站建设海报素材图片wordpress占用空间越来越大
  • 资讯cms网站有那些网站备案更名