网站外链隐形框架是什么wordpress简约HTML5
- 作者: 五速梦信息网
- 时间: 2026年03月21日 07:25
当前位置: 首页 > news >正文
网站外链隐形框架是什么,wordpress简约HTML5,哪些网站可以做店淘客,wordpress 不同权限一、感想 作为一名拥有11年经验的Android开发者#xff0c;我亲历了Android从高速发展到如今面临“僧多粥少”的过程。技术的世界瞬息万变#xff0c;没有一种技术能够让人依赖一辈子。去年初#xff0c;我自学了鸿蒙系统#xff0c;并顺利通过了鸿蒙官方的初级和高级认。…一、感想 作为一名拥有11年经验的Android开发者我亲历了Android从高速发展到如今面临“僧多粥少”的过程。技术的世界瞬息万变没有一种技术能够让人依赖一辈子。去年初我自学了鸿蒙系统并顺利通过了鸿蒙官方的初级和高级认。 然而由于一年来几乎没有实际应用很多知识已经生疏。如今我决定重新拾起鸿蒙开发并通过笔记记录学习过程。 二、Harmony工程目录结构 在工程目录下存在以下文件/文件夹 AppScope, entryhvigor,build-profile.json5code-linter.jsonhvigorfile.tsoh-package.json5oh-package-lock.json5。 build-profile.json5工程级配置信息包括签名signingConfigs、产品配置products等模块信息在此处配置。 {app: {buildModeSet: [{name: debug},{name: release}],products: [{buildOption: {strictMode: {caseSensitiveCheck: true,useNormalizedOHMUrl: true}},compatibleSdkVersion: 5.0.2(14),name: default,runtimeOS: HarmonyOS,signingConfig: default}],signingConfigs: []},modules: [{name: entry,srcPath: ./entry,targets: [{applyToProducts: [default],name: default}]}] } code-linter.json:是代码检查工具的配置文件用于定义代码风格和质量规则。 hvigorfile.ts工程级编译构建任务脚本 oh-package.json5主要用来描述全局配置如依赖覆盖overrides、依赖关系重写overrideDependencyMap和参数化配置parameterFile等 oh-package-lock.json5是依赖锁文件用于精确记录当前项目中所有依赖的实际安装版本及其依赖树结构。它的作用是确保在不同环境中安装的依赖版本完全一致避免因依赖版本不一致导致的问题。 AppScope包含了resources 和 app.json5 resources全局使用的资源如图片、字符串等 app.json5应用信息 {app: {bundleName: com.zzw.harmonyapp,vendor: example,versionCode: 1000000,versionName: 1.0.0,icon: \(media:app_icon,label: \)string:app_name} }entry这个就跟Android的 app 一样的作用了 entry 之中也包含了build-profile.json5hvigorfile.tsoh-package.json5。三个的作用上面做了介绍区别在于entry中的是针对模块级别的。 entry目录中的其他元素后面专门学习介绍。 hvigor包含了hvigor-config.json5文件hvigor-config.json5是 HarmonyOS 开发中用于配置 Hvigor 构建工具 的配置文件。Hvigor 是 HarmonyOS 的构建工具类似于 Android 的 Gradle用于管理项目的构建、依赖和任务执行。 三、ArkTS语法 ArkTs 是基于TypeScript 的语言又“遥遥领先”了跟前端的语法有点类似主要记载一些常用的要熟悉还是得靠日常的积累。 1.ArkTS的基本组成 四、沉浸式效果 在开发App时候都会有个占满整个屏幕的Splash(启动)页面鸿蒙开发同样有个启动页 Entry Component struct Splash {State message: string Hello World;build() {Stack() {Image(\(r(app.media.app_bg_splash)).width(100%).height(100%)}.width(100%).height(100%)} } 整个页面就一张图片希望整张图片充满整个屏幕运行后效果 这个明显不是期望的效果。 来看看遥遥领先官方的说明 典型应用全屏窗口UI元素包括状态栏、应用界面和底部导航条其中状态栏和导航条通常在沉浸式布局下称为避让区避让区之外的区域称为安全区。开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感从而使用户获得最佳的UI体验。 从这里可以看出来上面应用截图中的启动页只有应用界面的区域启动页的图片并没有占位到状态栏和导航条。 开发应用沉浸式效果主要要考虑如下几个设计要素 UI元素避让处理导航条底部区域可以响应点击事件除此之外的可交互UI元素和应用关键信息不建议放到导航条区域。状态栏显示系统信息如果与界面元素有冲突需要考虑避让状态栏。沉浸式效果处理将状态栏和导航条颜色与界面元素颜色相匹配不出现明显的突兀感。 针对上面的设计要求可以通过如下两种方式实现应用沉浸式效果 a.窗口全屏布局方案调整布局系统为全屏布局界面元素延伸到状态栏和导航条区域实现沉浸式效果。当不隐藏避让区时可通过接口查询状态栏和导航条区域进行可交互元素避让处理并设置状态栏或导航条的颜色等属性与界面元素匹配。当隐藏避让区时通过对应接口设置全屏布局即可。 b.组件安全区方案布局系统保持安全区内布局然后通过接口延伸绘制内容如背景色背景图到状态栏和导航条区域实现沉浸式效果。 以下将分别用这两种方案实现。 4.1 窗口全屏布局方案 窗口全屏布局方案主要涉及以下应用扩展布局全屏显示不隐藏避让区和应用扩展布局隐藏避让区两个应用场景。 4.1.1 应用扩展布局全屏显示不隐藏避让区 /*应用扩展布局全屏显示不隐藏避让区*/static setFullScreenNoHiddenBar(windowStage: window.WindowStage): void {let windowClass: window.Window windowStage.getMainWindowSync(); // 获取应用主窗口// 1. 设置窗口全屏let isLayoutFullScreen true;windowClass.setWindowLayoutFullScreen(isLayoutFullScreen).then(() {console.info(Succeeded in setting the window layout to full-screen mode.);}).catch((err: BusinessError) {console.error(Failed to set the window layout to full-screen mode. Cause: JSON.stringify(err));});} 显示效果 4.1.2 应用扩展布局隐藏避让区 /*应用扩展布局全屏显示隐藏避让区*/static setFullScreenHiddenBar(windowStage: window.WindowStage): void {let windowClass: window.Window windowStage.getMainWindowSync(); // 获取应用主窗口// 1. 设置窗口全屏let isLayoutFullScreen true;windowClass.setWindowLayoutFullScreen(isLayoutFullScreen).then(() {console.info(Succeeded in setting the window layout to full-screen mode.);}).catch((err: BusinessError) {console.error(Failed to set the window layout to full-screen mode. Code is \){err.code}, message is \({err.message});});// 2. 设置状态栏隐藏windowClass.setSpecificSystemBarEnabled(status, false).then(() {console.info(Succeeded in setting the status bar to be invisible.);}).catch((err: BusinessError) {console.error(Failed to set the status bar to be invisible. Code is \){err.code}, message is \({err.message});});// 2. 设置导航条隐藏windowClass.setSpecificSystemBarEnabled(navigationIndicator, false).then(() {console.info(Succeeded in setting the navigation indicator to be invisible.);}).catch((err: BusinessError) {console.error(Failed to set the navigation indicator to be invisible. Code is \){err.code}, message is \({err.message});});} 效果如下 4.2 组件安全区方案 应用未使用setWindowLayoutFullScreen()接口设置窗口全屏布局时默认使能组件安全区布局。 应用在默认情况下窗口背景绘制范围是全屏但UI元素被限制在安全区内自动排除状态栏和导航条进行布局来避免界面元素被状态栏和导航条遮盖。 4.2.1 设置窗口背景色 通过设置整个窗口的背景色和应用颜色一致实现全屏的效果 static setWindowBackgroundColor(windowStage: window.WindowStage,colorStr:string): void {windowStage.getMainWindowSync().setWindowBackgroundColor(colorStr);} 效果如下(这里为了便于观察颜色和应用颜色不一致) 4.2.2 使用expandSafeArea属性扩展安全区域 状态栏和导航条颜色不同时可以用如下方案 import { window } from kit.ArkUI;Entry Component struct Splash {State message: string Hello World;build() {Stack() {Image(\)r(app.media.app_bg_splash)).width(100%).height(100%).expandSafeArea([SafeAreaType.SYSTEM],[SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) // 图片组件的绘制区域扩展至状态栏和导航条。}.width(100%).height(100%)} } 效果如下 通过上面四种方法的实现在对应的场景下使用对应的方案就非常清楚了。 五、页面的跳转 在Android的开发中有了启动页接下来就是从启动页跳转到主页了然后关闭启动页。同样的鸿蒙也是需要这样做。 组件导航Navigation和页面路由ohos.router均支持应用内的页面跳转但组件导航支持在组件内部进行跳转使用更灵活。组件导航具备更强的一次开发多端部署能力可以进行更加灵活的页面栈操作同时支持更丰富的动效和生命周期。因此推荐使用组件导航Navigation来实现页面跳转以及组件内的跳转以获得更佳的使用体验。 5.1 ohos.router (页面路由)(不推荐) 在启动页中通过router进行跳转到主页 import { router } from kit.ArkUI;Entry Component struct Splash {// 定时器 ID用于跳转前取消定时器private timerId: number -1;build() {Stack() {Image($r(app.media.app_bg_splash)).width(100%).height(100%)}.width(100%).height(100%)}// 页面显示时触发onPageShow() {// 设置 1.5 秒后跳转this.timerId setTimeout(() {// 跳转到 Main 页面并清除 Splash 页面router.replaceUrl({ url: pages/Main });}, 1500); // 1500ms 1.5秒}// 页面隐藏时触发清除定时器onPageHide() {if (this.timerId ! -1) {clearTimeout(this.timerId);}} } 在这个使用了 router.replaceUrl会将splash 进行替换成主页Main。 router.pushUrl 将Main压入栈之中并不会清除Splash。 5.2 组件导航 (Navigation)(推荐) 看上面这张图Navigation 更适合类似 Android 中一个Activity多个fragment 的形式用于管理多个fragment。这点跟 Android 还是很像的遥遥领先。 在这里不拓展Navigation的用法再后面进行使用介绍。 附上官网中Navigation和Router的对比 业务场景NavigationRouter一多能力支持Auto模式自适应单栏跟双栏显示不支持跳转指定页面pushPath pushDestinationpushUrl pushNameRoute跳转HSP中页面支持支持跳转HAR中页面支持支持跳转传参支持支持获取指定页面参数支持不支持传参类型传参为对象形式传参为对象形式对象中暂不支持方法变量跳转结果回调支持支持跳转单例页面支持支持页面返回支持支持页面返回传参支持支持返回指定路由支持支持页面返回弹窗支持通过路由拦截实现showAlertBeforeBackPage路由替换replacePath replacePathByNamereplaceUrl replaceNameRoute路由栈清理clearclear清理指定路由removeByIndexes removeByName不支持转场动画支持支持自定义转场动画支持支持动画类型受限屏蔽转场动画支持全局和单次支持 设置pageTransition方法duration为0geometryTransition共享元素动画支持NavDestination之间共享不支持页面生命周期监听UIObserver.on(navDestinationUpdate)UIObserver.on(routerPageUpdate)获取页面栈对象支持不支持路由拦截支持通过setInterception做路由拦截不支持路由栈信息查询支持getState() getLength()路由栈move操作moveToTop moveIndexToTop不支持沉浸式页面支持不支持需通过window配置设置页面标题栏titlebar和工具栏toolbar支持不支持模态嵌套路由支持不支持
相关文章
-
网站外链建设平台广州网站建设信科分公司
网站外链建设平台广州网站建设信科分公司
- 技术栈
- 2026年03月21日
-
网站外链建设记住5种外链方式不可用健康网站模版
网站外链建设记住5种外链方式不可用健康网站模版
- 技术栈
- 2026年03月21日
-
网站外包怎么做手机网站和app的区别
网站外包怎么做手机网站和app的区别
- 技术栈
- 2026年03月21日
-
网站外围网站怎么做wordpress api文档下载
网站外围网站怎么做wordpress api文档下载
- 技术栈
- 2026年03月21日
-
网站完成上线时间asp怎么做网站
网站完成上线时间asp怎么做网站
- 技术栈
- 2026年03月21日
-
网站网警备案流程雄安优秀网站建设公司
网站网警备案流程雄安优秀网站建设公司
- 技术栈
- 2026年03月21日






