鸿蒙开发实战案例—QQ联系人开发教程

654 篇文章 4 订阅
648 篇文章 6 订阅

本次案例挑选了QQ4个tab中相对较难的一个页面进行开发

先看一下本次案例的最终效果图:

在这里插入图片描述


这个页面的难点在于在List组件又嵌套了一个可以左右滑动的联系人分类,以及好友分组的展开和收起。

现在我们从上到下来开发这个界面,首先是导航栏,没啥好说的,直接上代码:

@Builder NavigationMenus() { 
    Row() {
      Image($r('app.media.menu_add'))
        .size({ width: 24, height: 24 })
        .onClick(()=>{
        })
    }
    .justifyContent(FlexAlign.End)
    .width('100%')
    .height('100%')
  }

  @Builder NavigationTitle() {
    Row(){
      Text("联系人")
        .width('100')
        .fontSize(18)
        .fontColor(Color.White)
    }
    .width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
  }
Navigation(){
}
.title(this.NavigationTitle())
.mode(NavigationMode.Stack)
.titleMode(NavigationTitleMode.Mini)
.hideBackButton(true)
.menus(this.NavigationMenus())
.size({ width: '100%', height: '100%' })
.backgroundColor(this.selectColor)

导航栏下面的内容区域显然是个List组件,List中又分为两个Group:

在这里插入图片描述


上面的group非常简单,不再多说,主要看下面的部分,小编进行了多次尝试,最终发现使用Tabs的效果更好。

Tabs({index:this.currentIndex,controller: this.controller }) {
              TabContent() {
                Text('好友')
              }
              .tabBar(this.TabTextBuilder('好友',0))
              TabContent() {
                Text('分组')
              }
              .tabBar(this.TabTextBuilder('分组',1))
              TabContent() {
                Text('群聊')
              }
              .tabBar(this.TabTextBuilder('群聊',2))
              TabContent() {
                Text('设备')
              }
              .tabBar(this.TabTextBuilder('设备',3))
              TabContent() {
                Text('通讯录')
              }
              .tabBar(this.TabTextBuilder('通讯录',4))
              TabContent() {
                Text('订阅号')
              }
              .tabBar(this.TabTextBuilder('订阅号',5))
            }
            .backgroundColor('rgb(247,247,247)')
            .onChange((index:number)=>{
              this.currentIndex=index
            })
            .barWidth('100%')
            .barHeight(45)
            .width('100%')
            .height('100%')
            .scrollable(true)

然后我们要着手开发好友列表,对于展开和收起,小编的思路是创建一个数组来存储展开状态,比如现在有两个好友分组,分别是我的好友和同学,那我就创建一个boolean类型的数组,并初始化为[false,false],默认都不展开,当我点击某一行就将对应的值修改,代码如下:

ForEach(this.expands[index] == 1?object.list : [],(item,i)=>{
      ListItem(){
        Flex({direction:FlexDirection.Row,alignItems:ItemAlign.Center}){
          Image($r('app.media.headicon'))
            .width(40)
            .height(40)
            .borderRadius(20)
            .margin({left:8})
          Flex({direction:FlexDirection.Column,justifyContent:FlexAlign.Center}){
            Text(item.name)
              .fontColor(Color.Gray)
              .fontSize(17)
            Text('[在线]记忆它总是慢慢累积!!')
          }
          .margin({left:5})
        }
        .height(60)
        .backgroundColor(Color.White)
      }
    })

最后

随着鸿蒙开发越来越火热,我了解到现在有很多小伙伴想入行鸿蒙,但又不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。我给大家整理了一份实用的鸿蒙(Harmony OS)开发学习手册资料用来跟着学习是非常有利于帮助大家提升鸿蒙开发技术的。

相对于网上那些碎片化的知识内容,这份学习资料的知识点更加系统化,更容易理解和记忆。资料包含了、应用开发导读(ArkTS)、HarmonyOS 概念、如何快速入门、开发基础知识、基于ArkTS 开发、等鸿蒙开发必掌握的核心知识要点,内容包含了(技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

获取这份完整版高清学习路线,请点击→《鸿蒙星河版开发教程指南

鸿蒙(Harmony NEXT)最新学习路线

在这里插入图片描述

有了路线图,怎么能没有学习资料呢,小编也准备了几套HarmonyOS NEXT学习视频 内容包含以下联

内容包含:ArkTS、TypeScript、ArkUI、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→《HarmonyOS教学视频

HarmonyOS教学视频

在这里插入图片描述

鸿蒙语法ArkTS、TypeScript、ArkUI等…视频教程

鸿蒙生态应用开发白皮书V2.0PDF:

获取白皮书:请点击→《鸿蒙生态应用开发白皮书V2.0PDF

在这里插入图片描述

鸿蒙 (Harmony OS)开发学习手册

一、入门必看

  1. 应用开发导读(ArkTS)
  2. .……

在这里插入图片描述
二、HarmonyOS 概念

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

在这里插入图片描述
三、如何快速入门?

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

在这里插入图片描述
四、开发基础知识

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

在这里插入图片描述
五、基于ArkTS 开发

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

在这里插入图片描述
更多了解更多鸿蒙开发的相关知识可以参考:《鸿蒙 (Harmony OS)开发学习手册

  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一种功能强大的编程语言,可以用于开发各种类型的应用程序,包括桌面应用。下面是一个简单的实战项目,用于开发一个基于Python的桌面应用程序: 1. 确保已经安装了Python的开发环境。你可以从官方网站(https://www.python.org)上下载并安装最新版本的Python。 2. 选择一个合适的GUI库。Python有许多流行的GUI库可供选择,如Tkinter、PyQt、wxPython等。在这个实战项目中,我们将使用Tkinter作为GUI库。 3. 创建一个新的Python文件,命名为main.py(或者你喜欢的任何名字)。在这个文件中,导入Tkinter库并创建一个主窗口对象。 ```python from tkinter import Tk # 创建主窗口对象 root = Tk() root.title("Python桌面应用") ``` 4. 在主窗口中添加控件。你可以根据自己的需求添加按钮、文本框、标签等控件。 ```python from tkinter import Button, Label # 添加标签控件 label = Label(root, text="欢迎使用Python桌面应用程序") label.pack() # 添加按钮控件 button = Button(root, text="点击我") button.pack() ``` 5. 设置控件的事件处理函数。你可以为按钮等控件绑定点击事件,并在事件处理函数中编写相应的逻辑。 ```python def button_click(): label.config(text="你点击了按钮") button.config(command=button_click) ``` 6. 启动应用程序的主循环。在最后一行添加下面的代码,以启动应用程序的主循环。 ```python root.mainloop() ``` 7. 运行应用程序。在命令行中执行以下命令,运行你的Python应用程序。 ``` python main.py ``` 以上是一个简单的Python桌面应用开发实战示例。你可以根据自己的需求,进一步扩展和改进这个应用程序。同时,你还可以学习更多关于Tkinter和其他GUI库的文档和教程,以提升你的桌面应用开发技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值