函數(shù)和全局變量作為 KLWP 的控制方式,在自定義效果中運(yùn)用極其廣泛。文本元素可受函數(shù)控制,與圖形或組件互相搭配,形成功能性項(xiàng)目;全局變量可作項(xiàng)目樣式的標(biāo)準(zhǔn)或切換開關(guān),只需在特定項(xiàng)目中鏈接它即可實(shí)現(xiàn),成為一勞永逸的方式。今天我們來結(jié)合 KLWP 的預(yù)設(shè)包解析,了解一下 KLWP 中函數(shù)效果和全局變量的應(yīng)用。 用戶之下 萬項(xiàng)之上:全局變量我們可以將全局變量理解為用戶和 KLWP 項(xiàng)目偏好之間的捷徑,全局變量受到用戶控制,其他項(xiàng)目只要被它鏈接,那么他們都將受全局變量所控制,可謂是「一人之下,萬人之上」。 在 KLWP 中,全局變量存在多種形式,可作為項(xiàng)目缺省的樣式偏好,包括顏色、字體、錨點(diǎn)等,也有功能性設(shè)置,例如常用的開關(guān)。使用起來也非常簡單,在復(fù)選框選中某一個(gè)或幾個(gè)項(xiàng)目,然后在右上角點(diǎn)一下地球樣式的按鈕, KLWP 就自己匹配到相關(guān)變量然后鏈接。 我們添加幾個(gè)組件,分別是電量、日歷、時(shí)鐘。其中,電量組件包括剩余電量顏色、空置電量顏色、文字顏色和字體;日歷包括字體、字體顏色和背景顏色;模擬時(shí)鐘包括表盤背景色、秒針顏色和分 / 時(shí)針顏色。 假若我們正在制作一款動態(tài)壁紙,想要以上三個(gè)項(xiàng)目風(fēng)格統(tǒng)一,那么只需要添加關(guān)于顏色和字體全局變量即可。我們在根目錄切換到全局變量選項(xiàng)卡,分別添加顏色和字體類型并為變量命名,當(dāng)然,你可以添加多個(gè)相同類別的全局變量;之后分別改變變量值(調(diào)整顏色和字體),再進(jìn)入項(xiàng)目本身進(jìn)行鏈接。在這里,我們可以將顏色和字體一并打鉤,因?yàn)?KLWP 會自動匹配類型,如果你真的設(shè)置了多個(gè)同類型變量,那么點(diǎn)擊一下項(xiàng)目后面的地球圖標(biāo)即可選擇你要鏈接的相關(guān)變量。 在「 A Drop 」預(yù)設(shè)包中,固定在屏幕下方的圓形按鈕充當(dāng)了快捷方式的開關(guān),它便利用了全局變量中的「 On/Off 開關(guān)」作為動畫觸發(fā)條件,點(diǎn)擊按鈕時(shí)切換開關(guān)為 On ,觸發(fā)了背景淡出、快捷方式和 RSS 新聞飛入、時(shí)鐘和其他卡片的出、按鈕旋轉(zhuǎn)這幾種動畫效果,由此讓動態(tài)壁紙實(shí)現(xiàn)了類 Launcher 的功能。 ![]() 以動制靜 千變?nèi)f化:函數(shù)變量圖形化界面操作固然簡便,但局限性也非常明顯,多種功能嵌套可實(shí)現(xiàn)更復(fù)雜的效果,但也會產(chǎn)生過多操作層級,或許會弄巧成拙。在 KLWP 中,針對一些靜態(tài)元素,我們可以使用函數(shù)變量來控制其所示內(nèi)容,使之可變,然后搭配其他元素,實(shí)現(xiàn)組件功能,進(jìn)而成為我們 DIY 的功能性項(xiàng)目。 在 KLWP 中,使用函數(shù)變量功能并不難,只不過入口有些隱蔽,因?yàn)榇砗瘮?shù)的圖標(biāo)實(shí)在是太像一個(gè)計(jì)算器了,然而 KLWP 中的函數(shù)與數(shù)學(xué)并沒有什么關(guān)系。與連接全局變量的方法一樣,我們勾選項(xiàng)目后在右上角點(diǎn)擊「計(jì)算器」按鈕,之后再點(diǎn)擊項(xiàng)目后的計(jì)算器圖標(biāo)來編輯函數(shù)。 而在添加菜單中直接增加文本元素時(shí),文本自身就以函數(shù)形式存在,只需點(diǎn)擊文本內(nèi)容處即可更改函數(shù)值。 ![]() ![]() KLWP 將所有可使用的函數(shù)都分類呈現(xiàn)在下方,包括文字樣式代碼(字體、加粗傾斜甚至是顏色,省去了一層一層點(diǎn)擊的麻煩),我們只需要查看并調(diào)用即可。在這里,單擊某條函數(shù)可在光標(biāo)處插入,長按則替換編輯框內(nèi)所有字符;為何會有單擊和雙擊的區(qū)別,我們稍后進(jìn)行解釋。 ![]() ![]() KLWP 包含了 24 種函數(shù),其中囊括了時(shí)間日期、天氣位置、電池網(wǎng)絡(luò)、音樂甚至是天文和資源管理器,而其中每一種函數(shù)里面又細(xì)分了多種條目。當(dāng)然,其中有一些雖然強(qiáng)大但并不實(shí)用,例如資源管理器,但像是音樂信息這種 Launcher 上常常出現(xiàn)的 widget ,可是我們 DIY 的首選。同樣在「 A Drop 」預(yù)設(shè)包中, RSS 閱讀器就利用了「 wg 」函數(shù)來獲取 RSS 信息。 ![]() ![]() 在后面幾個(gè)類別中我們注意到這樣幾種函數(shù):顏色相關(guān)(生成器、編輯器、調(diào)色板)、 if 語句、廣播接收(不是收音機(jī)的那個(gè)廣播),這幾種看起來很高深的函數(shù),其實(shí)也大有用途。 與顏色相關(guān)的這幾種函數(shù),例如位圖調(diào)色板,它的作用是從圖片中提取某種特定值或特定類型的顏色并返回值,這有什么用呢?從函數(shù)舉例中大家可以聯(lián)想音樂播放器,當(dāng)播放到有專輯封面的歌曲時(shí),播放器的背景、按鈕等會更換為與專輯封面相得益彰的色彩,而 KLWP 中這個(gè)函數(shù)的返回值就可以成為我們制作播放器的背景色值。 ![]() ![]() ![]() If 語句類似各類編程語言,比如「如果音樂正在播放,則播放按鈕由三角形更換為矩形」,或「如果沒有連接無線網(wǎng)路,則提示網(wǎng)絡(luò)狀態(tài)」等等,這里就涉及到函數(shù)的嵌套,而前文所說單擊與雙擊的區(qū)別就在這里。我們可以先插入 if 函數(shù),然后將光標(biāo)移到 if 參數(shù)處,單擊某函數(shù)語句從而在 if 函數(shù)中嵌套此函數(shù),避免手動輸入錯(cuò)誤或復(fù)制粘貼的繁瑣。剛才說到的位圖編輯器,我們也可以嵌套入獲取圖片的函數(shù),使得某一屏成為照片墻。 ![]() ![]() ![]() 廣播接收主要針對外部應(yīng)用, KLWP 支持神器 Tasker 和 zooper widget 的外部信息發(fā)送和獲取,具體應(yīng)用涉及到 Tasker 和 zooper widget ,而這又是一門學(xué)問,我們暫且放在一邊。 以上就是對 KLWP 中「全局變量」和「函數(shù)變量」的簡述。作為新手,拆解并更改預(yù)設(shè)包內(nèi)容是一個(gè)學(xué)習(xí)的過程,而作為了解了基本構(gòu)造的你來說,學(xué)會使用變量并試著創(chuàng)造一個(gè)功能組件,才是獨(dú)立的象征。如果說前面幾期教你如何更改預(yù)設(shè)包的話,那么認(rèn)識了變量,才等于 DIY 入門。 你可以在 Google Play 下載 KLWP Live Wallpaper Maker。 |
|