首页 > 其他分享 >HarmonyOS Next 入门实战 - 创建项目、主题适配

HarmonyOS Next 入门实战 - 创建项目、主题适配

时间:2024-11-13 18:57:12浏览次数:1  
标签:color 适配 app Next HarmonyOS readonly 创建 public

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

​​
​​

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

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

创建ArkTS应用

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

image

image


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

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

主题适配

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

image

为了使用方面以后期维护,我们定义一个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格式的图片

imageimage

标签:color,适配,app,Next,HarmonyOS,readonly,创建,public
From: https://www.cnblogs.com/shuijinglingsos/p/18544565

相关文章

  • 鸿蒙NEXT开发案例:光强仪
     【引言】本文将介绍如何使用鸿蒙NEXT框架开发一个简单的光强仪应用,该应用能够实时监测环境光强度,并给出相应的场景描述和活动建议。【环境准备】电脑系统:windows10开发工具:DevEcoStudioNEXTBeta1BuildVersion:5.0.3.806工程版本:API12真机:mate60pro语言:ArkTS、......
  • 从STA到P2P:HarmonyOS WLAN多模式开发指南
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在智能设备互联互通的时代,WLAN作为一种......
  • 蓝牙的世界:HarmonyOS Next中的蓝牙接入和连接
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在智能设备飞速发展的今天,蓝牙技术作为......
  • 从蓝牙到WLAN:HarmonyOS Next Connectivity Kit入门
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在当今数字化时代,智能设备之间的高效通......
  • HarmonyOS蓝牙串口协议(SPP)详解:实现设备间可靠数据交换
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在智能设备互联互通的世界里,蓝牙技术扮......
  • nextjs 动态生成sitemap.xml 文件
    在app目录下创建文件sitemap.js,默认导出sitemap方法importfsfrom"fs";importpathfrom"path";constbaseUrl=process.env.NEXT_PUBLIC_SITE_URL||"https://www.adog.life";constbaseDir="src/app";constdynamicDirs=[......
  • 驱动钛丝(SMA)的可靠性设计(1)钛丝的选型和适配
    前言形状记忆合金(Shapememoryalloy,SMA),也叫形态记忆合金、镍钛记忆合金,它是由TI(钛)-IN(镍)材料组成,这里我们方便描述,简称钛丝或者驱动钛丝。钛丝驱动本身的寿命是相当不错的,一般最少也能用个几十万到几百万次,钛丝天然的物理特性也决定了它的稳定性和寿命必然优于传统的电机电......
  • 鸿蒙HarmonyOS(ArkUI基础篇大合集!)
    文章目录ArkUI(方舟UI框架)1.简介2.基本概念3.概述4.布局1.概述2.通用布局属性......
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Notification Kit
    1.问题描述:notificationFlagStatus如何引入?文档中搜索不到相关内容。解决方案:1.notificationFlags是NotificationRequest类中定义的属性,这个属性是“只读”类型,因此在使用时,不支持修改notificationFlags的值。2.如果想要实现消息有铃声、震动等能力,可以通过SlotType属性来设置......
  • 鸿蒙NEXT开发案例:抛硬币
    鸿蒙NEXT开发案例:抛硬币 【1】引言(完整代码在最后面)本项目旨在实现一个简单的“抛硬币”功能,用户可以通过点击屏幕上的地鼠图标来模拟抛硬币的过程。应用会记录并显示硬币正面(地鼠面)和反面(数字100面)出现的次数。为了增强用户体验,我们还添加了动画效果,使抛硬币的过程更加生......