在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 設(shè)計應(yīng)用 > TouchGFX 處理按鈕長按的一種方法

            TouchGFX 處理按鈕長按的一種方法

            作者: 時間:2023-11-13 來源:ST 收藏

            1. 前言在使用 設(shè)計UI 界面時,用同一按鈕的長按和短按表示不同的功能是個比較常見的實際需求。普通的Button 控件可以通過Interactions 處理一些基本的交互動作,通過下面一些簡單的操作,我們可以將這個普通的Button 改造成可以根據(jù)不同的按鍵時間處理不同事務(wù)的多功能按鈕。

            本文引用地址:http://www.biyoush.com/article/202311/452791.htm

            2. 操作方法

            (1)創(chuàng)建一個按鈕,并在Mixins 中勾選ClickListener 功能,使Button 能夠響應(yīng)觸控輸入。

            圖1. Enable ClickListener

            1699856700813691.png

            啟用ClickListener Mixin 后,會更改生成的控件的聲明,下面的代碼表示button1 啟用了ClickListener Mixin。

            touchgfx::ClickListener< touchgfx::Button > button1;

            (2)用戶代碼中實現(xiàn)回調(diào)

            Designer 中對Button 控件啟用ClickListener Mixin 后,下一步是在這個Button 所在的Screen 的頭文件中添加控件的Click 的回調(diào)和其回調(diào)處理函數(shù)的聲明。

            回調(diào)函數(shù)的聲明應(yīng)包含以下三點內(nèi)容:要綁定的類名,此例中為Screen1View;回調(diào)來自哪個Widget,此處為Button;以及發(fā)生事件的類型ClickEvent。

            Screen1View.hpp

            class Screen1View : public Screen1ViewBase

            {

            public:

            Screen1View();

            virtual ~Screen1View() {} 

            virtual void setupScreen(); 

            virtual void tearDownScreen(); 

            void ButtonClickHandler(const Button& b, const ClickEvent& e); 

            protected: 

            Callback<Screen1View, const Button&, const ClickEvent&> buttonClickedCallback; 

            };

            然后,將回調(diào)函數(shù)的聲明和回調(diào)函數(shù)的處理函數(shù)綁定到視圖對象。

            1699856765753628.png

            下一步是通過setClickAction()的方法告訴Button1這個Widget,當(dāng)它被按下時,去調(diào)用哪個回調(diào)函數(shù)。

            1699856810836730.png

            最后,實現(xiàn)回調(diào)函數(shù)的處理函數(shù),同時可以根據(jù)需要自行增加按鈕按下和釋放時的處理。

            1699856851688229.png

            (3)添加handleTickEvent()聲明和定義,用于處理計時相關(guān)邏輯,此函數(shù)以60Hz的頻率被引擎調(diào)用。

            1699856886220882.png

            1699856909590616.png

            1699856929549479.png

            (4)根據(jù)實際應(yīng)用需求實現(xiàn)長按鍵的處理

            在我們的測試?yán)讨?,實現(xiàn)了三秒長按鍵后,切換Text文本顯示的功能,如下。

            圖2. 長按前效果

            1699856970428313.png


            圖3. 長按3S后效果

            1699856999839906.png


            3. 總結(jié)

            本文解釋了如何通過ClickListener實現(xiàn)對按鈕控件自定義功能,實際應(yīng)用中大多數(shù)的Widgets以及View本身都可以通過ClickListener實現(xiàn)點擊和釋放時的自定義處理。




            關(guān)鍵詞: TouchGFX Botton ST

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉