記錄一下:
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學習記錄及資源整理頁面