版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
AppInventor2組件應用在AppInventor2的組件面板中有用戶界面(User界面布局(layout)、多媒體(media)、繪畫與動畫(drawingandAnimation)、傳感器(sensors)等九種組件,它們分為可視組件和非可視組件兩類。用戶界面組件(UserInterface)用戶界面組件是App開發(fā)過程中使用頻率最高的組件。它包括按鈕(Button)、標簽(Label)、圖像(Image)、文本輸入框(TextBox)、日期選擇框(DatePicker)等組件,如圖2.36所示。這些組件大部分都是可視組件。它們有許多共同的屬性,如:背景顏色、字體、字號、高度、寬度等。這些屬性的設置方法也基本相同。按鈕(Button)按鈕是程序中最常用的組件,用戶通過點擊按鈕完成程序交互。按鈕支持的事件包括:被點擊(Click)、被按壓(LongClick)、獲得焦點(GotFocus)、失去焦點(LostFocus)等,如圖2.37所示。會變顏色的按鈕本例題只使用到一個按鈕組件。當“按鈕1”被點擊時,改變“按鈕1”的背景顏色。顏色的改變需要用到“模塊”菜單中的“內(nèi)置塊”→“顏色”-“合成顏色”模塊,如圖2.38所示。合成顏色模塊包括R、G、B三種顏色值和透明度四個參數(shù)。本程序只設置了R、G、B三種顏色,它們的分配范圍是0-255,例如:純紅為R值255,G值0,B值0,RGB圖像中使用這三種顏色就可以混合出許多種不同的顏色。為了使按鈕的顏色呈現(xiàn)不同的變化,程序在設置R、G、B三種顏色的值時使用了隨機數(shù)。隨機數(shù)是在一定范圍內(nèi)隨機產(chǎn)生的數(shù),并且在這個范圍內(nèi)得到的每一個數(shù)的機會是一樣的。它就如同我們擲硬幣正反面或是擲骰子所產(chǎn)生的結(jié)果一樣,在本程序中我們設定隨機數(shù)的范圍為0-255,組件屬性設置如下表。標簽(Label)、文本輸入框(TextBox)標簽是開發(fā)者顯示信息給用戶的組件,在程序運行時,標簽的信息只能通過代碼修改,標簽只有屬性沒有事件。文本輸入框是開發(fā)者供用戶輸入信息的組件。雖然它也可以用來顯示提示信息,但主要功能還是為用戶輸入信息使用的。文本輸入框支持“獲取焦點”和“失去焦點”事件。標簽和文本輸入框的基本屬性設置與按鈕類似。用戶登錄,設計如圖2.40所示的項目。本項目界面包括兩個標簽、兩個水平布局、一個文本輸入框、兩個按鈕。當用戶在“文本輸入框1”輸入姓名并點擊“確定”按鈕后,“標簽2”將顯示“某某同學,歡迎你?!弊謽?。當用戶點擊“退出”按鈕后,程序?qū)⒆詣油顺觯玫慕M件屬性設置如下表。這段代碼中,點擊“按鈕1”后“標簽2”顯示的文本信息,是由“內(nèi)置塊”→“文本”中的“合并文本(join)”塊將“文本輸入框1”的信息和變量"welcome"中的信息合并得到的。文本塊是與字符操作相關(guān)的模塊,它可以實現(xiàn)對文本進行編輯、合并、長度測量、刪除、轉(zhuǎn)換、查找等功能,如圖2.42所示本例中使用了“合并文本”塊將兩段文本進行了合并。本例題中“按鈕2”被點擊后,程序通過執(zhí)行“內(nèi)置塊”-“控制”中的“退出程序”模塊實現(xiàn)了程序的退出。圖像是顯示圖片的組件。圖像只有屬性沒有事件。設計石頭、剪刀、布游戲程序。分析石頭、剪刀、布是我們小時候經(jīng)常玩的游戲。這個程序使用按鈕和圖像組件簡單模擬計算機出招的過程。程序的界面包括一個圖像組件、一個按鈕組件,如圖2.43所示。本程序需要使用圖片素材bu.png.jd.png,st.png,logo.png(bu.png是出示“布”的圖片,id.png是出示“剪刀”的圖片,st.png是出示“石頭”的圖片,logo.png為標題圖片),組件屬性設置如下表。這段代碼中,我們使用了列表。列表的功能類似于其他編程語言中的數(shù)組。根據(jù)程序的需要,列表的元素可以動態(tài)地增減。我們通過列表名和索引值來訪問列表中的元素。程序最開始,首先聲明變量“pic”為空列表。并且在“screenl”初始化事件里將變量“pic”創(chuàng)建為一維列表,列表元素分別是字符串“jd.png”、字符串“st.png”、字符串“bu.png”。在“按鈕1”被點擊事件中,隨機選取列表“pic”中的元素作為“圖像1”圖片的名稱,實現(xiàn)石頭、剪刀、布的隨機變化。多媒體(media)AI2支持的多媒體組件包括照相機(Camera)、錄音機(SoundRecorder)、音頻播放器(Player)、攝像機(Camcorder)和視頻播放器(VideoPlayer)等。照相機(Camera)照相機是非可視組件,它調(diào)用Android設備的照相機功能拍攝圖片。照相機的屬性、事件和方法如圖2.45所示。照相機應用實例,設計如圖2.46照相機應用程序。程序通過點擊“拍攝”按鈕,調(diào)用系統(tǒng)照相機進行拍照點擊“選擇圖像”按鈕,即可獲取設備中的圖像資源,并顯示在“圖像1”中,所用到的組件屬性設置如下表。音效播放器(Sound)音效播放器同音頻播放器一樣是用來播放音頻文件的音效播放器,更適合播放短小的音頻文件。我們在前邊的“愛打招呼的Tom貓”實例中使用了這個組件。通過設置音效播放器最小間隔(MinimumInterval)屬性,我們可以保證鈴音不會出現(xiàn)重疊效果。它的方法包括:暫停(Pause)播放(Play)、恢復(Resume)、停止(Stop)、震動(Vibrate等,如圖2.48所示。音效播放器一般用于播放音效和震動手機,如圖2.49所示。需要注意的是,音效播放器在播放聲音之前應提前向服務器上傳音頻文件素材,并根據(jù)素材的時長設置最小時間間隔。錄音機(SoundRecorder)錄音機組件是通過啟動設備中的錄音機功能來實現(xiàn)錄音,它是非可視組件。錄音機的事件包括完成錄制時(AfterSoundRecorded)、開始錄制(StartedRecording)、停止錄制(StoppedRecording)。方法有開始(Start)和停止(Stop)。錄音機只有錄制結(jié)果文件一個屬性,用戶可以通過設置該屬性,獲得錄制聲音文件的文件名和保存路徑。如果不設置該屬性,則錄音機將自行創(chuàng)建和保存,創(chuàng)建保存的地址一般為“內(nèi)部存儲/MyDocuments/Recordings”下,也可以通過“完成錄制時”事件去查詢存儲位置。如圖2.50所示。一般情況下錄音機和音頻播放器配合實現(xiàn)錄制并播放聲音的功能。錄音機組件調(diào)用的是系統(tǒng)錄音,因此沒有在程序中指定存,儲位置時,錄音文件會存儲在系統(tǒng)錄音機默認的存儲路徑中,我們可以通過“完成錄音”事件的“聲音”參數(shù)查找到它。設計如圖2.51所示的錄音應用程序。本程序的功能是通過調(diào)用系統(tǒng)錄音機和音頻播放器實現(xiàn)的。通過點擊“開始錄音”按鈕,調(diào)用系統(tǒng)錄音機進行錄音,點擊“停止錄音”按鈕,則停止錄音,點擊“播放錄音”按鈕,使用音頻播放器播放錄制好的聲音,所用到的組件屬性設置如下表。代碼說明:這段代碼中“按鈕1”被點擊事件里調(diào)用錄音機組件開始錄音,“按鈕2”被點擊事件里調(diào)用錄音機組件停止錄音?!颁浺魴C1”錄制完成事件將錄音地址賦值給全局變量RecordSound,最后在“按鈕3”的點擊事件中設置“音頻播放器1”的源文件為全局變量RecordSound所存儲的錄音地址,并且調(diào)用音頻播放器播放聲音。繪畫與動畫(DrawingandAnimation)畫布(Canvas)畫布是一種可在其上面繪圖的組件,它的二維坐標系的坐標原點在畫布的左上角。畫布內(nèi)指定的坐標(X,Y)點,X代表該點距離畫布左邊界的像素數(shù);Y代表該點距離畫布上邊界的像素數(shù),X、Y都取正值,這與直角坐標系不同,如圖2.53所示。畫布除了高度、寬度這些常見的屬性外,還支持更改背景圖片、設置畫筆顏色等屬性。畫布的事件有被拖動事件(Dragged)、被觸碰事件(Touched)、被劃動事件(Flung)、被按壓事件(TouchDown)、被松開事件(TouchUp)等,如圖2.54所示。畫布的拖動事件是手指在移動過程中持續(xù)產(chǎn)生,這一事件可以跟蹤手指的移動軌跡。該事件提供三個坐標,分別是移動開始“起點坐標點”(startX和startY)、事件產(chǎn)生時的“當前坐標點”(currentX和currentY)、相鄰事件產(chǎn)生時的前點坐標點(prevx和prevY)。利用拖動事件在畫布添加畫線功能添加畫布并設置它的高度、寬度為充滿。根據(jù)兩點確定一線的原理,我們設(X1,Y1)為起點,(X2,Y2)為終點畫線。當手指在畫布上拖動時,拖動事件將被調(diào)用很多次:手指的每次移動都會繪制出一個微小線段,從前點坐標prevx,prevy到當前坐標currentX,currentY,因此,用前點坐標prevx與prevY分別作為畫布畫線的參數(shù)X1和Y1;用當前坐標currentX與currentY分別作為畫布畫線的參數(shù)X2和Y2,即可形成有趣的畫筆功能程序代碼如圖2.55所示。圖像精靈(ImageSprite)與球形精靈(Ball)圖像精靈是一種可以在畫布中自由移動的圖像組件。球形精靈是一種特殊的圖像精靈。圖像精靈與球形精靈都只能放置在畫布中。它們可以響應觸摸和拖拽等事件,并且可以與畫布邊界產(chǎn)生交互,精靈和精靈之間同樣也可以。球形精靈和圖像精靈的差,別在于用戶可以通過設置圖像屬性來改變后者的外觀,而球形精靈只能改變顏色和半徑。對于圖像精靈與球形精靈來說,我們可以通過設置屬性來改變它們的速度、坐標、方向等。利用畫布被劃動事件控制小球的滾動添加畫布并設置它的高度、寬度為充滿。添加一個球形精靈到畫布中,時間間隔1毫秒,速度為0,半徑為20,畫布的被劃動事件只有手指在屏幕上快速劃動的時候才會產(chǎn)生。被劃動事件中提供劃動起點的(x,y)坐標、劃動方向(0到360度)、速度、速度在軸和Y軸的分量。我們可以將獲取到的這些參數(shù)賦值給小球精靈,完成控制小球的程序,程序代碼如圖2.56所示。傳感器組件(SensorsComponents)傳感器組件主要是用來感知手機的位置、方向、加速度等參數(shù)變化的。A12針對一般手機的常用傳感器提供了計時器、方向傳感器、加速度傳感器等組件。計時器(Clock)AI2的計時器是通過調(diào)用設備內(nèi)部的時鐘實現(xiàn)的。計時器的屬性包括:一直計時(TimerAlwaysFires):選中該事件,計時將和應用程序一起執(zhí)行和結(jié)束。啟用計時(TimerEnabled):該事件被選中,則開始進行計時。計時間隔(TimerInterval):為計時器設定時間間隔,單位為“毫秒”,1秒=1000毫秒。計時器(Clock)只有“到達計時點”一個事件,計時器啟動后,每過一個“時間間隔”就會觸發(fā)該事件一次。就如同我們的心跳,每次心跳都是一個“到達計時點”事件?!坝嫊r間隔”屬性就相當于兩次心跳的間歇時間。編寫時鐘應用程序,利用計時器組件獲取系統(tǒng)時間,設計界面如圖2.57所示。分析此題主要是將“計時器1"調(diào)用到的系統(tǒng)當前時間轉(zhuǎn)化為小時、分鐘、秒,并賦值給h,m,s三個標簽顯示出來,所用到的組件屬性設置如下表。設計3秒倒計時應用程序通過計時器與變量、圖像組件配合實現(xiàn)倒計時3秒的程序。程序的界面包括一個圖像組件、一個按鈕組件、一個計時器組件,如圖2.59所示。要顯示3、2、1、0四個數(shù)字,程序需要1.png、2.png.3.png.0.png四張圖片素材(注釋:1.png是顯示“1”的圖片,2.png是顯示“2”的圖片,3.png顯示“3”的圖片,0.png是顯示“0”圖片)。代碼說明:計時的開始與結(jié)束主要是通過控制計時器的“啟用計時”屬性實現(xiàn)的。設計界面時,先將“計時器1"的屬性面板中“啟用計時”勾選項取消,并且設定時間間隔為1000毫秒。當用戶點擊“按鈕1”時再啟用計時器計時事件。通過計時器“達,到計時點”事件與變量n的累減配合實現(xiàn)倒計時。倒計時的效果,是每隔一秒用“圖像1”的圖片屬性顯示一張數(shù)字圖片。變量n不僅控制倒計時時間,同時它與".png"合并文本一起也作為“圖像1”屬性所需的參數(shù)。加速度傳感器(AccelerometerSensor)加速度傳感器用于測量x、y、z三個維度的加速度分量的近似值和檢測設備的搖晃。測量結(jié)果使用加速度單位米/秒“(m/s)”表示。xAccel:手機靜止水平時值為0,左側(cè)抬高值為正,右側(cè)抬高值為負。yAccel:手機靜止水平值為0,底部抬高值為正,頂部抬高值為負。zAccel:當設備屏幕朝上水平靜止值為-9.8(地球重力加速度),垂直于地面時值為0,屏幕朝下時值為9.8。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)業(yè)計劃書(合集15篇)
- 圣誕節(jié)2021慶?;顒涌偨Y(jié)
- 軍訓后感受300字(35篇)
- 無編站骨干選拔理論考試(戰(zhàn)訓業(yè)務理論)練習試題(一)
- 專題09 二次根式加減(七大類型)(題型專練)(原卷版)
- 廣東高三英語語法填空之冠詞
- 高中英語語法分類講解過去進行時
- 第4章 其他排泄物和體腔液檢查課件
- 會計數(shù)據(jù)分析 Solutions-Manual Chapter-4 EOC-SM
- 《莖越長越高》植物的生長變化莖越長越高
- OSG螺紋基礎及絲錐基礎培訓
- 上海外賣食品安全社會調(diào)查報告
- 噴灌機械的使用課件講解
- 2020-高考上海語文卷詳解版(《宋若水傳》《守約軒記》全文翻譯)
- 貴州省貴陽市南明區(qū)第一實驗中學2022-2023學年九年級下學期3月質(zhì)量監(jiān)測英語試題
- 投影手表設計
- 新媒體概論(第2版)全套教學課件
- 工作思路清晰嚴謹細致工作執(zhí)行力強范文(6篇)
- 蒸汽鍋爐方案
- 衛(wèi)生毒理學課件
- 山西菌種實驗室規(guī)劃方案
評論
0/150
提交評論