​开发一个简单的demo,其中涉及一些鸿蒙应用开发的知识点,其中涉及导航框架,常用组件,列表懒加载,动画,深色模式适配,关系型数据库等内容,在实践中学习和熟悉鸿蒙应用开发。

​​

​​

首先下载并安装DevEco Studio开发环境,下载完成后按照提示安装即可,过程不在多说。

DevEco Studio-HarmonyOS Next Beta版-华为开发者联盟

创建ArkTS应用

    • 点击 File -> New -> Create Project 会看到如下窗口
    • 选择 Empty Ability 模版点击下一步
    • 输入项目名称、包名、选择文件位置,其他使用默认即可
    • 点击 Finish 按钮完成创建


本文的技术设计和实现都是基于作者工作中的经验总结,如有错误,请留言指正,谢谢。

限于篇幅工程目录介绍不在详述,可查看官方文档:文档中心

主题适配

创建新项目后在entry模块资源文件夹(resources)中,默认已经创建了base文件夹,这是浅色主题下使用的资源文件,如果要适配深色模式需要自行创建dark文件夹,其中的颜色、图片等在深色模式下使用。

为了使用方面以后期维护,我们定义一个Theme管理类,方面管理主题中的颜色和图片文件等。


//管理管理类
class ThemeColor {
public readonly primaryColor = $r('app.color.primaryColor')
public readonly background = $r('app.color.start_window_background')
public readonly textPrimary = $r('app.color.textPrimary')
public readonly textSecondary = $r('app.color.textSecondary')
public readonly textTertiary = $r('app.color.textTertiary')
public readonly dividerLine = $r('app.color.dividerLine')
public readonly inputEditTextBackground = $r('app.color.inputEditTextBackground')
public readonly footerTipTextColor = $r('app.color.footerTipTextColor')
public readonly iconFillColor = $r('app.color.iconFillColor')
public readonly tipShade = $r('app.color.tipShade')
} export class Theme {
public static readonly Color = new ThemeColor()
//---后续可增加图片资源引入
} //使用
Text('满江红')
.fontColor(Theme.Color.textPrimary)

项目中我们使用了HMRouter导航框架,其中的标题栏、菜单栏、工具栏的浅色/深色模式切换框架本身实现了,文字颜色不需要做任何处理,菜单栏和工具栏中的图片则需要用到svg格式的图片

END


本文的技术设计和实现都是基于作者工作中的经验总结,如有错误,请留言指正,谢谢。

HarmonyOS Next 入门实战 - 创建项目、主题适配的更多相关文章

  1. django入门 01 创建项目

    安装django库 pip install django 创建--by 终端 django-admin startproject myproject 通过命令创建的django项目,默认不含templ ...

  2. FaceRank,最有趣的 TensorFlow 入门实战项目

    FaceRank,最有趣的 TensorFlow 入门实战项目 TensorFlow 从观望到入门! https://github.com/fendouai/FaceRank 最有趣? 机器学习是不是 ...

  3. Git入门—创建项目

    Git入门—创建项目 注:win10系统下 打开Git Bash,进入存放仓库的目录 创建 初始化git init,该命令执行完后会在当前目录生成一个 .git 目录. 所有 Git 需要的数据和资源 ...

  4. ASP.NET MVC5入门1之项目创建

    本博文参考ASP.NET MVC5入门指南,下载链接: ASP.NET_MVC5_入门指南 1.创建项目 文件 --> 新建 --> 项目 Visual C# --> Web --& ...

  5. Electron – 基础学习(1): 环境安装、创建项目及入门

    这几天到年底了,公司也没啥事,闲着就到处瞅瞅.记得上一家公司的时候用 Electron+ng1 写过项目,只是那个时候项目框架都是别人搭的,自己只负责写功能,对Electron没啥认识. 这几天想着反 ...

  6. Newbe.Claptrap 框架入门,第二步 —— 创建项目

    接上一篇 Newbe.Claptrap 框架入门,第一步 -- 开发环境准备 ,我们继续了解如何创建一个 Newbe.Claptrap 项目. Newbe.Claptrap 是一个用于轻松应对并发问题 ...

  7. 篇(16)-Asp.Net Core入门实战-权限管理之用户创建与关联角色(ViewModel再用与模型验证二)

    入门实战-权限管理之用户创建与关联角色(ViewModel再用与模型验证二) (1).在用户管理着模块中,相比较菜单功能的代码还是比较多的,设计到用户的创建,修改,角色变更和密码重置,同时都集中在列表 ...

  8. C#程序员的春天之从零开始学习unity3D游戏开发入门教程二(创建项目及基本面板介绍)

    一项目创建: 创建项目是开发的第一步. 运行untiy之后如果是第一次运行会弹出 我们这里随便创建一个项目. 二Untiy面板介绍: 三代码编辑器的切换: 这里我安装了vs2012. 到这里开发环境基 ...

  9. Maven入门学习,安装及创建项目

    一.maven介绍: 1.maven是一个基于项目对象模型(POM Project Object Model),通过配置文件管理项目的工具(项目管理工具). 2.maven主要功能:发布项目(从编译到 ...

  10. node+vue进阶【课程学习系统项目实战详细讲解】打通前后端全栈开发(1):创建项目,完成登录功能

    第一章 建议学习时间8小时·分两次学习      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章]) 视频教程地 ...

随机推荐

  1. ASP.NET Core – Try Preview

    前言 .NET 7 已经来到 RC 阶段了. 通常 RC 就是我们 (写库的人) 要入场的时候了. 有发现 Bug 要尽可能在这段期间提交. 不然后患无穷. 这篇主要就是来讲讲如果测试 RC 版本的 ...

  2. Spring —— 注解开发(bean管理)

    注解定义bean       纯注解开发(无需配置文件)       bean作用范围    bean生命周期   

  3. SQL Server的Descending Indexes降序索引

    SQL Server的Descending Indexes降序索引 背景索引是关系型数据库中优化查询性能的重要手段之一.对于需要处理大量数据的场景,合理的索引策略能够显著减少查询时间. 特别是在涉及多 ...

  4. 深入理解 Nuxt.js 中的 app:data:refresh 钩子

    title: 深入理解 Nuxt.js 中的 app:data:refresh 钩子 date: 2024/9/29 updated: 2024/9/29 author: cmdragon excer ...

  5. template<> 模板特化

    template<> 是用于 模板特化(Template Specialization) 的一种语法. 模板特化允许你为某些特定的模板参数提供不同的实现.例如,template<&g ...

  6. 逆向 Virustotal 搜索接口 X-VT-Anti-Abuse-Header

    逆向 Virustotal 搜索接口 X-VT-Anti-Abuse-Header 搜索示例 搜索 123,网页地址为:https://www.virustotal.com/gui/search/12 ...

  7. Camera 冷启动阶段分解

    目录 一.Camx trace 调试开关设置 1.设置 camxoverridesettings trace开关 2. 重启后设置开启camx trace 开关 二.Camera 冷启动阶段分解分析 ...

  8. MYSQL存储过程-练习3 repeat循环

    MYSQL存储过程-练习3 repeat循环 1 DELIMITER $$ 2 3 CREATE PROCEDURE `sp_repeat`() 4 BEGIN 5 DECLARE i INT; 6 ...

  9. 工作使用:Exchange问题汇总

    工作使用:Exchange问题汇总 1:邮件不能发给公司内部的人,但是可以发公司外部人员 解析:GC出问题 2:xchange 2016环境,最近经常发生邮件队列堆积的现象.邮件服务器整体性能看上去没 ...

  10. DiTAC:不知如何提升性能?试试这款基于微分同胚变换的激活函数 | ECCV'24

    非线性激活函数对深度神经网络的成功至关重要,选择合适的激活函数可以显著影响其性能.大多数网络使用固定的激活函数(例如,ReLU.GELU等),这种选择可能限制了它们的表达能力.此外,不同的层可能从不同 ...