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