• 資料介紹
    • 1、前言
    • 2、實現(xiàn)原理
    • 3、實現(xiàn)方法
    • 4、總結(jié)
  • 資料預(yù)覽
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

LAT1417 TouchGFX實現(xiàn)Home鍵返回主頁

03/17 09:36
1220
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

LAT1417 TouchGFX實現(xiàn)Home鍵返回主頁

303.52 KB

1、前言

當(dāng)用戶界面層數(shù)較多時,通過層層回歸的方式返回主頁不夠方便;如果在每個頁面都設(shè)置一個返回按鈕,又會增加 UI 設(shè)計復(fù)雜度。

如果使用一個物理按鍵作為 Home 鍵,無論處于任何界面,都可通過這個按鍵返回到主頁;此物理按鍵僅需要一個 GPIO。下面介紹通過 TouchGFX 實現(xiàn)此功能的原理及方法。

2、實現(xiàn)原理

TouchGFX 基本架構(gòu)為 Model-View-Presenter(MVP)(參考以下章節(jié)的鏈接 ModelView-Presenter 設(shè)計模式 | TouchGFX Documentation 獲取更多信息),Model 類具有指向當(dāng)前活動的 Presenter 指針。當(dāng) Model 檢測到變化時,會將變化通知當(dāng)前活動Presenter,上述動作通過 ModelListener 接口中的方法來完成。

對于通過按鍵返回主頁的需求,我們可以在 Model 中檢測按鍵的變化,由于 Model 類具有指向當(dāng)前活動的 Presenter 指針,因此可以將按鍵的變化通過 ModelListener 通知給當(dāng)前活動 Presenter,Presenter 調(diào)用對應(yīng) View 中的屏幕切換方法,即可實現(xiàn)立即回歸主頁。由于存在多個 Presenter,因此在按鍵觸發(fā)的時刻,活動的 Presenter 可能是任何一個;所以除主頁之外,其余 Presenter 都要單獨實現(xiàn)對應(yīng) View 中切屏方法的調(diào)用。

3、實現(xiàn)方法

假設(shè)我們共有三屏內(nèi)容,Screen1 為主頁,另外兩屏為 Screen2 和 Screen3。

(1) 對按鍵 IO 進(jìn)行初始化設(shè)置。

(2) 在 ModelListener.hpp 中實現(xiàn)一個處理切屏的虛函數(shù)。

(3) 在 Model 中實現(xiàn)當(dāng)按鍵按下時通過 modelListener 調(diào)用這個函數(shù)。

(4) 在 Screen2View.hpp 中實現(xiàn)實際處理切屏的方法。

(5) 在 Screen2Presenter.hpp 中 class Presenter 的派生類 class Screen2Presenter中聲明與 ModelListener.hpp 中虛函數(shù)同名的函數(shù)名(函數(shù)的多態(tài))。

(6) 在 Screen2Presenter.cpp 中對這個函數(shù)進(jìn)行重寫,并實現(xiàn)對應(yīng) view 中實際切屏方法的調(diào)用。

(7) 對于 Screen3 或有更多的 Screen,如上述 Screen2 的(4)、(5)、(6)相關(guān)操作,這樣在按鍵按下時,無論哪個 Screen 處于有效狀態(tài),都能執(zhí)行相關(guān)的切屏操作。如果希望在某個頁面中 Home 鍵不觸發(fā)切屏操作,只需在其對應(yīng)的 Presenter和 View 中不做處理即可。

另外,在 View 中實現(xiàn)切屏是調(diào)用 changeToStartScreen()實現(xiàn)的,這種方法沒有動畫效果;如果想加入動畫效果,如以 Wipe 的方式從下方切入,可以在 TouchGFX Designer 的主頁 Screen1 中添加一個不帶 Trigger 的 Interaction,將 changeToStartScreen()替換成FrontedApplicationBase.cpp 中的切屏方法 gotoScreen1ScreenWipeTransitionSouth(),即可將切屏效果帶入。

4、總結(jié)

本文闡述了如何基于 TouchGFX 的 MVP 架構(gòu),實現(xiàn)物理 Home 按鍵控制返回主頁的功能及方法。通過這一實際應(yīng)用案例,可以讓用戶更深入的理解 MVP 的設(shè)計模式。

資料預(yù)覽

相關(guān)推薦