摘要:本節(jié)教程將繼續(xù)帶領(lǐng)大家完善教學(xué)導(dǎo)入項(xiàng)目完善主框架完成子視圖打開新頁啟動(dòng)動(dòng)畫將要學(xué)習(xí)的效果圖如下所示如何導(dǎo)入完整項(xiàng)目本節(jié)示例請(qǐng)參考下載地址,可以導(dǎo)入到設(shè)計(jì)器中學(xué)習(xí)。完成子視圖接下來我們來完成需要展示的子視圖。
本節(jié)教程將繼續(xù)帶領(lǐng)大家完善教學(xué)demo
導(dǎo)入項(xiàng)目
完善主框架
完成viewShower子視圖
打開新頁
啟動(dòng)動(dòng)畫
將要學(xué)習(xí)的demo效果圖如下所示
如何導(dǎo)入完整項(xiàng)目
本節(jié)示例demo請(qǐng)參考下載地址,可以導(dǎo)入到設(shè)計(jì)器中學(xué)習(xí)。
完善主框架
在上一節(jié)教程搭建主框架中大家已經(jīng)學(xué)會(huì)了如何主框架,本節(jié)教程使用上一節(jié)未完成的demo。
我們分析一下demo機(jī)構(gòu),通過點(diǎn)擊Bottom Bar上的不同按鈕來切換內(nèi)容,這種情況下最適合用ViewShower這個(gè)組件,ViewShower是一個(gè)包含多個(gè)子VIew的UI容器組件。我們從組件列表里拖一個(gè)ViewShower到UI設(shè)計(jì)頁面中,并通過調(diào)整x/y/width/height為0,0,750,1109將其固定在body的位置,把組件ID改為do_ViewShower_main。
雙擊index.ui.js打開代碼編輯頁面,先通過ID實(shí)例化ViewShower組件,再給ViewShower綁定數(shù)據(jù),在DeviceOne的組件庫中,ViewShower、ListView等這種容器類都是采用MVVM形式來綁定數(shù)據(jù)的,使得開發(fā)人員可以將View和業(yè)務(wù)邏輯分離出來。
這里先給ViewShower定義需要綁定的數(shù)據(jù)viewShower_data,其中id需要保持唯一,否則后id已經(jīng)存在,會(huì)覆蓋之前的View;path為需要展示的子View所在的UI頁面的絕對(duì)路徑,此時(shí)path所指的三個(gè)頁面還不存在,一會(huì)來創(chuàng)建。定義好數(shù)據(jù)后,通過ViewShower的addViews方法將數(shù)據(jù)綁定進(jìn)去,在調(diào)showView方法使其先默認(rèn)顯示第一個(gè)頁面,即id為”news”的子頁面。
想要完成每點(diǎn)擊一個(gè)按鈕就切換顯示的子View,還需要在每個(gè)按鈕的點(diǎn)擊事件里加上切換子View的方法showView,并通過show不同id的子View來切換頁面。
完成viewShower子視圖
接下來我們來完成需要展示的子View視圖。
在view目錄上點(diǎn)擊右鍵,選擇New-Folder,填寫要?jiǎng)?chuàng)建的目錄名稱為”news”,新建后再在news目錄上點(diǎn)擊右鍵,選擇New-UI File新建名稱為main的UI界面,在創(chuàng)建頁面的同時(shí)IDE會(huì)同時(shí)創(chuàng)建一個(gè)跟main.ui關(guān)聯(lián)的代碼文件main.ui.js,雙擊打開main.ui文件,向頁面的最外層ALayout中再拖進(jìn)一個(gè)ALayout組件作為viewShower子View的最外層容器,修改它的id為do_ALayout_main,調(diào)整高度為1109,因?yàn)樵谥黜撁鎖ndex.ui中viewShower的高度也為1109,如果子View的寬高超過它父容器viewShower的寬高會(huì)導(dǎo)致內(nèi)容顯示不全的問題,
再向該頁面的do_ALayout_main中拖拽一個(gè)Label,修改Label的text為“新聞”。這樣viewShower的一個(gè)子View就完成了,其他兩個(gè)子View也是相同內(nèi)容,所以只需負(fù)責(zé)該頁面即可,在news目錄上點(diǎn)擊右鍵,選擇Copy,再點(diǎn)擊View目錄選擇Paste,填寫目錄名為“find”,打開main.ui修改Label的text為“搜索”即可,同樣的再復(fù)制、粘貼一次,修改目錄名為“contact”、Label的text為“通訊錄”,這樣viewShower的三個(gè)子View就完成了。(再多復(fù)制一份,目錄名改成“feedback”,Label的text為“反饋”,為后續(xù)做準(zhǔn)備)
打開新頁
在Bottom Bar中,我們想通過點(diǎn)擊第四個(gè)按鈕“反饋”來另外打開一個(gè)新頁面,讓用戶填寫反饋信息。先雙擊打開feedback目錄中的main.ui文件,在do_ALayout_main中繼續(xù)添加一個(gè)ALayout作為該頁面的top,ID改為do_ALayout_1,調(diào)整寬高分別為750/128;再向do_ALayout_1中添加一個(gè)ALayout用于點(diǎn)擊,ID改為do_ALayout_back,調(diào)整位置、寬高分別為x=4,y=6,width=147,height=110;再向do_ALayout_back中添加一個(gè)Label用于展示文字,ID改為do_Label_3,將Label的text改為“返回”。
打開main.ui.js,訂閱do_ALayout_back的點(diǎn)擊事件用于關(guān)閉該頁面。同時(shí)處理在點(diǎn)擊android設(shè)備的虛擬返回按鈕時(shí)也關(guān)閉該頁面。
回到index.ui.js,在do_ALayout_b3的touch事件中調(diào)用app的openPage方法,將目標(biāo)地址指向剛剛調(diào)整過的/feedback/main.ui頁面,將頂部狀態(tài)欄顯示狀態(tài)改為透明(控制statusBarState參數(shù)為“transparent”)以全屏形式打開新頁,同時(shí)將打開頁面的動(dòng)畫類型(animationType)改成從右往左推出(push_r2l)。
啟動(dòng)動(dòng)畫
為了讓app有更生動(dòng)的效果,我們讓demo一進(jìn)入的時(shí)候有一個(gè)動(dòng)畫效果作為歡迎頁面,在source://view下創(chuàng)建一個(gè)跟index.ui平級(jí)的start.ui頁面,在根ALayout里添加一個(gè)與根ALayout一樣大小的ImageView,將ID改為do_ImageView_content,給這個(gè)ImageView一個(gè)source顯示圖片;再添加一個(gè)Label組件,修改ID為do_Label_welcome,修改do_Label_welcome的fontColor/fontSize屬性調(diào)整顯示字體的顏色和大小,頁面就完成了。再雙擊打開start.ui.js頁面,
先實(shí)例化當(dāng)前頁面的UI組件,并定義需要使用到的相關(guān)組件,在定義一個(gè)MM組件animation用于調(diào)用UI組件的動(dòng)畫,這個(gè)動(dòng)畫是控制ImageView組件的,所以ID定義為img_anima,通過修改img_anima的屬性,我們可以操控這個(gè)動(dòng)畫的走向,這里想讓ImageView的動(dòng)畫是縮放,所以選擇scale方法,通過給scale方法的不同參數(shù)以不同的參數(shù)值來制作這個(gè)動(dòng)畫,比如delay設(shè)置成0既是讓動(dòng)畫立即開始,duration設(shè)置成2000是讓整個(gè)動(dòng)畫時(shí)間為2秒等等..
接下來也是同樣的方法給Label定義一個(gè)旋轉(zhuǎn)的動(dòng)畫,最后通過調(diào)用所有UI組件都通用的animate方法我們將定義的這些動(dòng)畫加在UI組件上并在動(dòng)畫完成后打開新頁main.ui。
到此,本節(jié)教程就結(jié)束了,趕快拿起手機(jī)打開調(diào)試來查看效果吧!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/49827.html
摘要:本節(jié)教程將繼續(xù)帶領(lǐng)大家完善教學(xué)導(dǎo)入項(xiàng)目完善主框架完成子視圖打開新頁啟動(dòng)動(dòng)畫將要學(xué)習(xí)的效果圖如下所示如何導(dǎo)入完整項(xiàng)目本節(jié)示例請(qǐng)參考下載地址,可以導(dǎo)入到設(shè)計(jì)器中學(xué)習(xí)。完成子視圖接下來我們來完成需要展示的子視圖。 本節(jié)教程將繼續(xù)帶領(lǐng)大家完善教學(xué)demo 導(dǎo)入項(xiàng)目完善主框架完成viewShower子視圖打開新頁啟動(dòng)動(dòng)畫將要學(xué)習(xí)的demo效果圖如下所示showImg(https://segmen...
iKcamp官網(wǎng):http://www.ikcamp.com 訪問官網(wǎng)更快閱讀全部免費(fèi)分享課程:《iKcamp出品|全網(wǎng)最新|微信小程序|基于最新版1.0開發(fā)者工具之初中級(jí)培訓(xùn)教程分享》。包含:文章、視頻、源代碼 showImg(https://segmentfault.com/img/remote/1460000011522427?w=1626&h=1242); 第二章:小程序中級(jí)實(shí)戰(zhàn)教程之預(yù)...
iKcamp官網(wǎng):http://www.ikcamp.com 訪問官網(wǎng)更快閱讀全部免費(fèi)分享課程:《iKcamp出品|全網(wǎng)最新|微信小程序|基于最新版1.0開發(fā)者工具之初中級(jí)培訓(xùn)教程分享》。包含:文章、視頻、源代碼 showImg(https://segmentfault.com/img/remote/1460000011522427?w=1626&h=1242); 第二章:小程序中級(jí)實(shí)戰(zhàn)教程之預(yù)...
iKcamp官網(wǎng):http://www.ikcamp.com 訪問官網(wǎng)更快閱讀全部免費(fèi)分享課程:《iKcamp出品|全網(wǎng)最新|微信小程序|基于最新版1.0開發(fā)者工具之初中級(jí)培訓(xùn)教程分享》。包含:文章、視頻、源代碼 showImg(https://segmentfault.com/img/remote/1460000011522427?w=1626&h=1242); 第二章:小程序中級(jí)實(shí)戰(zhàn)教程之預(yù)...
摘要:一個(gè)完成入門篇二搭建主框架通過第一課的學(xué)習(xí),你已經(jīng)掌握了如何通過調(diào)試器來跟上的設(shè)計(jì)器聯(lián)調(diào)來實(shí)時(shí)查看設(shè)計(jì)效果調(diào)試代碼了,接下來通過一系列的開發(fā)教學(xué)你將很快上手學(xué)習(xí)到如何開發(fā)一個(gè)真正的。 一個(gè)App完成入門篇(二)-搭建主框架 通過第一課的學(xué)習(xí),你已經(jīng)掌握了如何通過debug調(diào)試器來跟PC上的設(shè)計(jì)器聯(lián)調(diào)來實(shí)時(shí)查看UI設(shè)計(jì)效果、調(diào)試代碼了,接下來通過一系列的demo開發(fā)教學(xué)你將很快上手學(xué)習(xí)到...
閱讀 3620·2023-04-25 19:56
閱讀 1699·2021-11-12 10:36
閱讀 1822·2021-11-08 13:19
閱讀 1563·2019-08-30 14:06
閱讀 3057·2019-08-30 11:01
閱讀 1765·2019-08-29 13:23
閱讀 2763·2019-08-29 11:18
閱讀 3457·2019-08-26 13:35