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

鸿蒙开发深入浅出01(基本环境搭建、页面模板与TabBar)

鸿蒙开发深入浅出01(基本环境搭建、页面模板与TabBar)

  • 1、效果展示
  • 2、下载 DevEco Studio
  • 3、创建项目
  • 4、新建页面模板
  • 5、更改应用信息
  • 6、新建以下页面
  • 7、Index.ets
  • 8、真机运行
  • 9、图片资源文件

1、效果展示

在这里插入图片描述

在这里插入图片描述

2、下载 DevEco Studio

  • 访问官网根据自己的版本进行下载,默认安装下一步即可。
https://developer.huawei.com/consumer/cn/download/

在这里插入图片描述

3、创建项目

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

4、新建页面模板

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

/**
* ${PROJECT_NAME} #项目的名称 
* ${FILE_NAME} #文件名称
* Created by ${USER} ON ${DATE} #作者及添加日期
*/
@Entry
@Component
struct ${NAME} {
  build() {
    
  }
}

5、更改应用信息

{
  "string": [
    {
      "name": "module_desc",
      "value": "module description"
    },
    {
      "name": "EntryAbility_desc",
      "value": "description"
    },
    {
      "name": "EntryAbility_label",
      "value": "硅谷租房" # 应用名称
    }
  ]
}

6、新建以下页面

  • Home.ets
  • See.ets
  • Discover.ets
  • Service.ets
  • My.ets
    在这里插入图片描述
    在这里插入图片描述

7、Index.ets

import Home from './Home'
import See from './See'
import Service from './Service'
import Discover from './Discover'
import My from './My'

@Entry
@Component
struct Index {
  @State currentTabBarIndex: number = 0;

  @Builder
  tabBarBuilder(image: Resource, activeImage: Resource, text: string, index: number) {
    Column() {
      Image(this.currentTabBarIndex == index ? activeImage : image).width(28).height(28)
      Text(text).fontSize(10).fontColor(this.currentTabBarIndex == index ? '#000' : '#CBCBCB')
    }
  }

  build() {
    Tabs({ barPosition: BarPosition.End }) {
      TabContent() {
        Home()
      }.tabBar(this.tabBarBuilder($r('app.media.tabbar_home'), $r('app.media.tabbar_home_active'), '首页', 0))

      TabContent() {
        See()
      }.tabBar(this.tabBarBuilder($r('app.media.tabbar_see'), $r('app.media.tabbar_see_active'), '想看', 1))

      TabContent() {
        Service()
      }.tabBar(this.tabBarBuilder($r('app.media.tabbar_service'), $r('app.media.tabbar_service_active'), '服务', 2))

      TabContent() {
        Discover()
      }.tabBar(this.tabBarBuilder($r('app.media.tabbar_discover'), $r('app.media.tabbar_discover_active'), '发现', 3))

      TabContent() {
        My()
      }.tabBar(this.tabBarBuilder($r('app.media.tabbar_my'), $r('app.media.tabbar_my_active'), '我的', 4))
    }.barHeight(50)
    .scrollable(false)
    .onChange((index) => {
      this.currentTabBarIndex = index;
    })
  }
}

8、真机运行

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

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

9、图片资源文件

见资源绑定


http://www.kler.cn/a/559977.html

相关文章:

  • 基于SpringBoot+Vue前后端分离的旅游信息推荐管理系统设计与实现+毕业论文+指导搭建视频
  • 深入剖析 Java Pinpoint:分布式系统性能分析的利器
  • 1_安装JDK和Hadoop
  • 3-1 WPS JS宏工作簿的新建与保存(批量新建工作簿)学习笔记
  • 第438场周赛:判断操作后字符串中的数字是否相等、提取至多 K 个元素的最大总和、判断操作后字符串中的数字是否相等 Ⅱ、正方形上的点之间的最大距离
  • deepseek_清华大学指导手册_pdf_1-5
  • Python爬虫系统搭建教程,从0开始搭建爬虫系统(附安装包)
  • Qt 中的线程池QRunnable和QThreadPool
  • Openwrt路由器操作系统
  • 保安员考试题库及答案
  • LeetCode-34. 在排序数组中查找元素的第一个和最后一个位置
  • 什么是拆分金额
  • 容器化部署tomcat
  • 国标28181协议在智联视频超融合平台中的接入方法
  • 【LLM系列6】DPO 训练
  • 算法15--BFS
  • 【数据结构】 最大最小堆实现优先队列 python
  • 新民主主义革命理论的形成依据
  • Maven最新版安装教程
  • IO进程 day05