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

Flythings学习(三)界面交互

文章目录

  • 1 界面切换
    • 1.1 打开界面
    • 1.2 关闭界面
  • 2 界面活动周期
  • 2.1 打开不存在页面的活动流程
    • 2.2 打开已存在界面(被隐藏的界面)
    • 2.3 关闭界面的流程


1 界面切换

界面切换的相关函数如下

1.1 打开界面

如果需要打开一个界面,在其他界面的控件上进行配合,使用函数
EASYUICONTEXT->openActivity(“xxxActivity”);进行页面切换

static bool onButtonClick_Button1(ZKButton *pButton) {
    // 跳转到sub.ftu界面
    EASYUICONTEXT->openActivity("subActivity");
    return false;
}

如果需要携带一些信息,使用intent进行通信,使用重载函数

Intent *pIntent = new Intent();
pIntent->putExtra("cmd", "open");
pIntent->putExtra("value", "ok");
EASYUICONTEXT->openActivity("subActivity", pIntent);

在对应界面接收键值对

static void onUI_intent(const Intent *intentPtr) {
    if (intentPtr) {
        // 键值解析
        std::string cmd = intentPtr->getExtra("cmd");        // "open"
        std::string value = intentPtr->getExtra("value");    // "ok"
        ......
    }
}

1.2 关闭界面

同样与当前界面的其他控件相配合

// 回到上个界面
EASYUICONTEXT->goBack();
// 回到打开的第一个界面
EASYUICONTEXT->goHome();
// 关闭界面,需要知道关闭界面的名字,并且启动界面无法关闭
EASYUICONTEXT->closeActivity("subActivity");

2 界面活动周期

各个界面之间呈现栈一样的关系
在这里插入图片描述
首先打开程序,会到达启动界面,随后通过openactivity到达subActivity界面,在subActivity又打开第三个界面,呈现栈一样的关系

打开界面和关闭界面时,都对应一个活动的周期,他有两种情况

2.1 打开不存在页面的活动流程

在这里插入图片描述
onUI_init 只有在界面不存在的情况下才会调用,如果只是隐藏界面,就不会使用这个函数

static void onUI_init() {
    //Tips :添加 UI初始化的显示代码到这里,如:mTextView1Ptr->setText("123");
    LOGD("sub onUI_init\n");
    mTextView1Ptr->setText("123");
}

当界面打开后, 在onUI_intent回调函数中接收处理,

static void onUI_intent(const Intent *intentPtr) {
    LOGD("sub onUI_intent\n");
    // 判断不为空
    if (intentPtr) {
        // 键值解析
        std::string cmd = intentPtr->getExtra("cmd");        // "open"
        std::string value = intentPtr->getExtra("value");    // "ok"
        ......
    }
}

当界面显示完成后,使用回调函数onUI_show

2.2 打开已存在界面(被隐藏的界面)

在这里插入图片描述
这种情况不会走 onUI_init流程
在这里插入图片描述
这种情况下会有两个见面进行操作
原有界面会调用onUI_hide函数,在隐藏界面时调用
打开已经隐藏的界面会调用intent进行通信,并且调用onUI_show进行界面展示

在这里插入图片描述

2.3 关闭界面的流程

在这里插入图片描述
当调用goback函数时,会将顶层的界面弹出(关闭),会调用onUI_quit函数,如果界面打开后申请了资源,在这里进行释放
在这里插入图片描述
退出顶层的界面后,会回调下一层界面的onUI_show接口
当调用gohome时,会弹出主窗口之外的所有窗口,
在这里插入图片描述
当我们调用closeActivity(“xxx”)函数时,可以移除除启动界面外任意界面;当移除的不是顶层的界面时,下一层的界面不会走onUI_show流程;


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

相关文章:

  • 继承(7)
  • List详解 - 双向链表的操作
  • 【Maui】动态菜单实现(绑定数据视图)
  • xml简介
  • 【数据链电台】洛克希德·马丁(Lockheed Martin)
  • 【Linux】模拟Shell命令行解释器
  • 【工具变量】上市公司企业广告支出数据(2007-2023年)
  • centors7安装docker启动ubuntu
  • ubuntu 20.04 安装ros1
  • Axure重要元件三——中继器
  • Springboot使用腾讯云短信SDK发送短信
  • JVM 实战篇(一万字)
  • QT--组合框 QComboBox ,微调框 QSpinBox,滑动条 QSlider, 进度条 QProgressBar
  • 结构体通讲——数据结构解惑
  • 在线考试系统的现代化解决方案:Spring Boot与JavaWeb
  • 【系统集成中级】OSI 七层模型
  • web前端面试中拍摄的真实vue面试题
  • 考研论坛设计小程序ssm+论文源码调试讲解
  • 设计一个支持自动化测试执行的测试框架
  • 盘古信息:智能仓储管理赋能企业降本增效
  • 【前端】Matter:交互与碰撞
  • 关于武汉芯景科技有限公司的限流开关芯片XJ6288开发指南(兼容SY6288)
  • C++ 函数的参数传递
  • MAC 电脑Office power point编辑的时候,显示“某些字体无法随演示文稿一起保存,仍然要保存演示文稿吗?”
  • 深入探讨B+树索引的基本概念、工作原理以及在MySQL中的应用
  • k8s系列-Rancher 上操作的k8s容器网络配置总结