Screen构成

界面布局 View, 逻辑处理 Presenter

Currently Active Screen

因TouchGFX分配内存的的方式是,按照最大的Screen分配,即最大View+最大Presenter,所以同一时刻只有一个Screen是激活的

只有当前激活的屏幕接收到感兴趣的事件,才会在View中做出对应的改变,否则就是简单的丢弃,这实质上是由虚函数实现的

Model-View-Presenter in TouchGFX

TouchGFX中的MVP是通过View类和Presenter类的继承呈现的,新增一个屏幕则需要一个View类和一个Presenter类来描述该Screen

  • Model

  Model类是一个单独类,且一直存在,其作用有二:

    ○ 存储UI的状态信息,发生切屏时,View 和 Presenter 会重新分配,所以 View 和 Presenter 无法完成此项工作

    ○ 作为后端系统的接口,及当前激活屏幕的中继

  Model 类会自动设置一个指向当前激活的 Presenter 的指针,Model 发生改变的时将自动通知 Presenter,这是通过 ModelListener 方法实现的

  • View

  View 类(源自 TouchGFX 的 View 类)包含 View 中显示的成员组件,还包括 setupScreen() 和 tearDownScreen() 接口,在进入或退出屏幕时自动调用,通常将组件配置放于 setupScreen()  接口中

  View 拥有一个指向关联 Presenter 的指针,该指针由框架自动设置,使用此指针可以将 UI button click 事件传至 Presenter

  • Presenter

  Presenter 类负责当前激活屏幕的业务逻辑,接收来自 Model 的后端事件和来自 View 的 UI 事件,并决策如何做,如 Presenter 接收到 Model 的报警事件,应该通知 View 显示一个报警弹框

  

【TouchGFX】屏幕概念的更多相关文章

  1. jquery 仿手机屏幕切换界面效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. PA教材提纲 TAW10-2

    Unit1 Introduction to the ABAP Dictionary(ABAP字典介绍) 1.1 Describing the ABAP Dictionary(描述ABAP字典) ABA ...

  3. webApp 页面适配布局

    webApp 页面布局 1. 流式布局 概念: 流式布局是页面元素宽度按照屏幕分辨率进行适配调整,但是整体布局不变. 设计方法: 布局都是通过百分比来定义宽度,但是高度大都是用px固定的. 弊端: 虽 ...

  4. Google 超分辨率技术 RAISR

    每天都有数以百万计的图片在网络上被分享.储存,用户借此探索世界,研究感兴趣的话题,或者与朋友家人分享假期照片.问题是,大量的图片要嘛被照相设备的像素所限制,要嘛在手机.平板或网络限制下被人为压缩,降低 ...

  5. webApp 页面布局

    1. 流式布局 概念:流式布局是页面元素宽度按照屏幕分辨率进行适配调整,但是整体布局不变. 设计方法:布局都是通过百分比来定义宽度,但是高度大都是用px固定的. 弊端: 虽然可以让各种屏幕适配,但是显 ...

  6. CHI 2013:人机交互领域那些令人兴奋的新技术

    2013:人机交互领域那些令人兴奋的新技术" title="CHI 2013:人机交互领域那些令人兴奋的新技术"> 编者按:CHI是人机交互领域首屈一指的国际盛会, ...

  7. [转]Android中dp,px,sp概念梳理以及如何做到屏幕适配

    http://blog.csdn.net/jiangwei0910410003/article/details/40509571 今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI ...

  8. Android首席设计师宣称移动概念已死,开发人员应该面向屏幕编写应用而非移动

    腾讯科技对Android首席设计师Duarte"移动已死"訪谈内容的翻译错得离谱,被到处转载,误人视听. 而要真正理解Duarte所想表达的含义,须要深入了解互联网前沿设计理念以及 ...

  9. Android屏幕密度(Density)和分辨率概念详解

    移动设备有大有小,那么如何适应不同屏幕呢,这给我们编程人员造成了很多困惑.我也是突然想到这些问题,然后去网上搜搜相关东西,整理如下.   首先,对下面这些长度单位必须了解. Android中的长度单位 ...

  10. OpenGL ES: (5) OpenGL的基本概念、OpenGL ES 在屏幕产生图片的过程、OpenGL管线(pipeline)

    一. OpenGL的基本概念 OpenGL 的结构可以从逻辑上划分为下面 3 个部分: 图元(Primitives) 缓冲区(Buffers) 光栅化(Rasterize) 图元(Primitives ...

随机推荐

  1. VSFTPD2.3.4(笑脸漏洞)复现

    vsftpd2.3.4笑脸漏洞复现 目标服务器:metasploitable2(192.168.171.11) 渗透机:Kali(192.168.171.21) 方法一:手动复现 首先用kali扫描一 ...

  2. 去年最火的 JS 开源项目「GitHub 热点速览」

    近日,「Best of JS」发布了过去一年在 GitHub 上 Star 数增速最快的 JavaScript 开源项目(2023 JavaScript Rising Stars),前 10 的开源项 ...

  3. 用c++写 爱心图案

    绘制爱心曲线 现代数学的一个有趣的证明是 Georg Cantor 证明了有理数是可枚举的.在这篇博客中,我们将通过编程绘制一个简单而美丽的数学图形:爱心曲线. 爱心曲线代码 //爱心曲线 (x^2 ...

  4. 《架构整洁之道》学习笔记 Part 1 概述

    本书主题 介绍什么是优秀的软件架构,以提高软件架构质量 介绍系统架构的各种属性与成本和生产力的关系,以采用好的设计和架构以便减少构建成本 好的软件架构可以带来什么? 大大节省软件项目构建与维护的人力成 ...

  5. flutter MaterialApp介绍

    MaterialApp 是 Flutter 中常用的一个 widget,它是构建基于 Material Design 风格应用的根组件,主要负责各种全局状态的管理以及定义应用程序的主题样式等. voi ...

  6. Cesium案例解析(八)——CesiumWidget简化窗体

    目录 1. 正文 2. 参考 1. 正文 Cesium Widget这个案例展示了一个Cesium的简化窗体.在之前的案例中使用的都是Cesium.Viewer这个窗体组件,包含了非常丰富的组件内容. ...

  7. 一文让你彻底掌握ThreadLocal

    本文分享自华为云社区<[高并发]一文带你彻底搞懂ThreadLocal>,作者: 冰 河. 我们都知道,在多线程环境下访问同一个共享变量,可能会出现线程安全的问题,为了保证线程安全,我们往 ...

  8. Spring Cache设计之美,你品,你细品…

    摘要:Spring Cache的功能很强大,设计也非常优雅,特别适合缓存控制没有那么细致的场景,比如门户首页,偏静态展示页面,榜单等等 本文分享自华为云社区<品味 spring cache设计之 ...

  9. 云小课 | DSC之数据水印,防止数据被盗用

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: 华为云数据安全中 ...

  10. 2023年 CISO 需要高度关注的任务和趋势

    在过去的几年中,企业一直忙于应对远程办公模式下的安全要求.展望2023年,疫情局面将与过去3年大不相同.根据目前的趋势,未来一年的网络攻击的数量和严重程度都将增加,这将对各规模企业,尤其是未做好准备的 ...