App Inventor學習記錄168-任意元件介紹(二)~not already handled

這裡是要補充前一篇任意元件的使用方法介紹中沒有介紹到的部份,not already handled。

記錄一下:
App Inventor學習記錄168-任意元件介紹(二)~not already handled


這一次範例的完成品如下。

畫面上有 10個按鈕,照道理說,有 10個按鈕的話,我們就要分別對這 10個按鈕做程式方塊的設定,才能讓他們產生動作。

但在這個例子中,把按鈕 1~5設定為 1個群組,按鈕 6~10設定為另外一個群組。先對這兩個群組設定動作,然後針對按鈕 1和按鈕 2再額外設定了按鈕按下的動作。剩下的按鈕 3~10的部份,我們就可以利用 not already handled的方式來做設定。


畫面編排的部份如下。

左邊 1~5的按鈕,是按鈕群組 1。
右邊 6~10的按鈕,是按鈕群組 2。


全部的程式方塊如下。


第 1部份的程式方塊說明。

這裡建立了兩個群組。我們在用任意元件的時候,可以把相同作用的按鈕,先建成一個群組。然後我們在任意元件的地方可以加入判斷式,判斷按下的按鈕是不是在我們設定的群組中。然後再做其它的動作。


第 2部份的程式方塊記錄。

把按鈕 1和按鈕 2的按下事件拉出來使用。
在這裡我們先不用去管這兩個按鈕按下之後要發生什麼事件,這裡只是要說明任意元件 not already handled的觸發條件那就是按鈕如果有拉出按鈕事件的話,那麼 not already handled的值就是 false


第 3-1部份的程式方塊記錄。

我們拉出一個任意元件按鈕的點擊方塊出來使用。在這裡加入一個流程判斷式。
這裡的 component參數,我們把它想成按鈕。
如果按下的這個按鈕,是清單_按鈕群組 1中的按鈕的話。就把清單_按鈕群組 1中全部按鈕的字體大小設定為 14,字體顏色設定為黑色。然後把按下那一個按鈕的字體大小設定為 25,字體顏色設定為紅色。


第 3-2部份的程式方塊記錄。

這一個部份,只是把判斷按下按鈕是不是清單_按鈕群組 1的判斷,改成是不是在清單_按鈕群組 2中。其它的部份都是相同的。這裡就不在多說。


第 3-3部份的程式方塊記錄。

前面 2個只是複習一下任意元件的使用,接下來則是這一篇的重點,not already handled的參數該怎麼用。not already handled在 app inventor中的翻譯是事件未處理。我自己的理解是沒有設定到事件的元件

以這裡的例子來說,我們在第 3部份拉出的任意元件事件是 when any button click當任意按鈕元件被點擊這一個事件。然後我們在第 2部份的程式方塊那裡,有拉出按鈕 1和按鈕 2被點擊的事件。

也就是說,在這個部份,按鈕 1和按鈕 2已經有設定到事件了,其它的按鈕 3到按鈕 10都沒有設定事件,也是處於 not already handled的狀態。

所以,我們在這裡加入判斷式,判斷按下的按鈕的 not already handled狀態是不是 true,是 true的話,那麼按下的按鈕指的就是按鈕 3~10

然後就設定一下按下按鈕的背景顏色的不同。


這個一個很簡單的例子。希望能夠讓大家對任意元件怎麼使用,有個印象,因為程式的功能越多,任意元件使用到的頻率就越高。同時會幫我們省下很多重覆的工作。

這次的 aia檔的下載連結如下:
NO_168_any_button.aia

app inventor交流討論群組連結如下(掃描 QR code或是點擊連結皆可)
https://line.me/ti/g2/Loxwrcc2iNRS5-Qd4SFXxQ?utm_source=invitation&utm_medium=link_copy&utm_campaign=default

參考書籍請見博客來書籍介紹頁面:
手機應用程式設計超簡單 App Inventor 2零基礎入門班
TQC+ 創意App程式設計認證指南
TQC+創意App程式設計認證指南解題秘笈
手機應用程式設計超簡單:App Inventor 2初學特訓班
手機應用程式設計超簡單:App Inventor 2小專題特訓班
手機應用程式設計超簡單:App Inventor 2資料庫專題特訓班

之前介紹過的一些 appinventor的使用記錄,都整理在下面這個頁面上了。
APP INVENTOR學習記錄及資源整理頁面

發佈留言