Android應(yīng)用加載fullpage.js框架實(shí)現(xiàn)CSS3動(dòng)畫(huà)引導(dǎo)頁(yè)

作為手機(jī)應(yīng)用,在過(guò)去的年月里常見(jiàn)的都是以靜態(tài)的可滑動(dòng)圖片作為引導(dǎo)頁(yè),但是引導(dǎo)頁(yè)是手機(jī)應(yīng)用進(jìn)入的真正首頁(yè),可以說(shuō)是手機(jī)應(yīng)用的‘臉面’,在要求用戶(hù)體驗(yàn)越來(lái)越精確細(xì)膩的今天,越來(lái)越多的手機(jī)應(yīng)用加入動(dòng)態(tài)效果來(lái)博取目光和焦點(diǎn)------甚至不只是引導(dǎo)頁(yè),更是酷炫的內(nèi)容介紹和互動(dòng)頁(yè)。接下來(lái)的內(nèi)容我們就利用fullpage.js框架布局CSS3動(dòng)畫(huà)來(lái)打造屬于自己的手機(jī)動(dòng)畫(huà)引導(dǎo)頁(yè)。

首先,我們需要構(gòu)建自己的Android項(xiàng)目,并在assets文件夾下添加文件夾目錄,這里取名為wel_page。

構(gòu)建之后轉(zhuǎn)換開(kāi)發(fā)工具打開(kāi)來(lái)到HBuilder,對(duì)項(xiàng)目管理器部分右鍵選擇導(dǎo)入項(xiàng)目,再選擇“現(xiàn)有的文件夾作為新項(xiàng)目”,一路向下選擇瀏覽文件,找到android開(kāi)發(fā)工具的workspace,找到剛才的項(xiàng)目,選擇assets下的wel_page,如下右圖;

現(xiàn)在,我們就有了一個(gè)web項(xiàng)目的根文件,在此基礎(chǔ)上我們可以按照web網(wǎng)頁(yè)項(xiàng)目進(jìn)行網(wǎng)頁(yè)開(kāi)發(fā),在這里我新建名稱(chēng)為fullpage.html的html文件用來(lái)構(gòu)建頁(yè)面效果,css和js以及img文件夾目錄用來(lái)存放fullpage.html開(kāi)發(fā)過(guò)程中所需的不同資源;

接下來(lái)要做的就是在HBuilder中開(kāi)發(fā)全屏的切換頁(yè)面了,在這里我選擇久負(fù)盛名的fullpage.js開(kāi)源框架,首先去到它的官網(wǎng),fullpage官網(wǎng)地址:fullPage.js One Page Scroll sections Site Plugin

點(diǎn)擊download即可下載。下載解壓進(jìn)入pure JavaScript (Alpha)文件夾中,以瀏覽器運(yùn)行的方式打開(kāi)demo.html,可以看到fullpage的基本效果,可以看到,橫豎切換效果都是非常不錯(cuò)的,我們將該文件夾中的文件接入我們的項(xiàng)目中,并將手機(jī)引導(dǎo)頁(yè)需要展示的圖片引入img文件夾,如下圖:

繼續(xù),將fulllpage.js框架所需的css文件和js文件引用到fullpage.html:

在body中進(jìn)行fullpage.js格式的布局,并聲明內(nèi)部樣式定義整體和頁(yè)面樣式,可都參考或復(fù)制pure JavaScript (Alpha)文件中的demo.html代碼。

再聲明腳本段落進(jìn)行fullpage.js框架的初始化工作,代碼如下(demo.html):

注意:

(1)#后面的id一定要和框架中外層的div匹配;

(2)css3要設(shè)置為true屬性

(3)關(guān)于其他屬性可以根據(jù)需求去設(shè)置,屬性間用”,”隔開(kāi),這里提供fullpage框架中

頁(yè)面屬性配置和回掉函數(shù)的參考地址:FullPage.js全屏滾動(dòng)插件學(xué)習(xí)總結(jié) - Jesse131 - 博客園,至此我們已經(jīng)成功的將fullpage框架接入項(xiàng)目中,接下來(lái)我們?cè)诳瞻椎膄ullpage頁(yè)面中添加自己的背景圖片和CSS3動(dòng)畫(huà)。

在內(nèi)部樣式中我定義了針對(duì)某一個(gè)圖片或者文字的CSS3動(dòng)畫(huà),動(dòng)畫(huà)的具體效果是先來(lái)回旋轉(zhuǎn),再下移淡出,當(dāng)然還有對(duì)其它三種瀏覽器進(jìn)行兼容的代碼,這里不再啰嗦:

@keyframeshinge{

0%{

-webkit-transform-origin:topleft;

-moz-transform-origin:topleft;

-ms-transform-origin:topleft;

transform-origin:topleft;

-webkit-animation-timing-function:ease-in-out;

-moz-animation-timing-function:ease-in-out;

-ms-animation-timing-function:ease-in-out;

animation-timing-function:ease-in-out

}

20%,60%{

-webkit-transform:rotate3d(0,0,1,80deg);

-moz-transform:rotate3d(0,0,1,80deg);

-ms-transform:rotate3d(0,0,1,80deg);

transform:rotate3d(0,0,1,80deg);

-webkit-transform-origin:topleft;

-moz-transform-origin:topleft;

-ms-transform-origin:topleft;

transform-origin:topleft;

-webkit-animation-timing-function:ease-in-out;

-moz-animation-timing-function:ease-in-out;

-ms-animation-timing-function:ease-in-out;

animation-timing-function:ease-in-out

}

40%,80%{

-webkit-transform:rotate3d(0,0,1,60deg);

-moz-transform:rotate3d(0,0,1,60deg);

-ms-transform:rotate3d(0,0,1,60deg);

transform:rotate3d(0,0,1,60deg);

-webkit-transform-origin:topleft;

-moz-transform-origin:topleft;

-ms-transform-origin:topleft;

transform-origin:topleft;

-webkit-animation-timing-function:ease-in-out;

-moz-animation-timing-function:ease-in-out;

-ms-animation-timing-function:ease-in-out;

animation-timing-function:ease-in-out;

opacity:1;

}

100%{

-webkit-transform:translate3d(0,43em,0);

-moz-transform:translate3d(0,43em,0);

-ms-transform:translate3d(0,43em,0);

transform:translate3d(0,43em,0);

opacity:0

}

}

緊接著我們需要對(duì)文字或圖片應(yīng)用動(dòng)畫(huà):

.bg{

-webkit-animation:hinge2salternatebackwards;

animation:hinge2salternatebackwards;

-moz-animation:hinge2salternatebackwards;

-ms-animation:hinge2salternatebackwards;

-o-animation:hinge2salternatebackwards;

animation-delay:0.2s;

-ms-animation-delay:0.2s;

-moz-animation-delay:0.2s;

-webkit-animation-delay:0.2s;

}

其它屏可以根據(jù)自己的需求去繼續(xù)完善和添加頁(yè)面。運(yùn)行發(fā)現(xiàn)動(dòng)畫(huà)能成功進(jìn)行動(dòng)畫(huà)播放和滑動(dòng)切換,那么大功快要告成了,我們最后要做的就是android界面進(jìn)行該頁(yè)面的加載顯示------這里我們利用WebView控件來(lái)加載頁(yè)面,在加載之前要對(duì)項(xiàng)目進(jìn)行右鍵刷新,確保fullpage.html和剛才的文件已經(jīng)同步到assets文件目錄下。

我們需要將MainActivity布局文件中WebView的寬高設(shè)置為匹配父窗口,然后在MainActivity類(lèi)的oncreate方法中查找該WebView的id,并讓該WebView加載assets文件目錄下的fullpage.html頁(yè)面:


至此,我們的引導(dǎo)頁(yè)已經(jīng)完成了,可以在手機(jī)中安裝該Android應(yīng)用查看效果。

注意,完成后測(cè)試過(guò)程中版本或配置較低的手機(jī)可能感覺(jué)加載較慢,有卡頓,這時(shí)候就需要加強(qiáng)WebView的性能了,在這里我接入了騰訊X5內(nèi)核中的WebView,加載明顯更快,效果更好,需要接入的,請(qǐng)移步其官網(wǎng):騰訊瀏覽服務(wù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類(lèi)選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,460評(píng)論 0 11
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類(lèi)選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 2,136評(píng)論 0 2
  • 命名規(guī)則 1 全部采用小寫(xiě)的方式,以下劃線(xiàn)分隔eg:my_project_name 2 有復(fù)數(shù)結(jié)構(gòu)時(shí),要采用復(fù)數(shù)命...
    Jill1231閱讀 333評(píng)論 0 1
  • 各種純css圖標(biāo) CSS3可以實(shí)現(xiàn)很多漂亮的圖形,我收集了32種圖形,在下面列出。直接用CSS3畫(huà)出這些圖形,要比...
    劍殘閱讀 9,996評(píng)論 0 8
  • 你已經(jīng)掌握了相關(guān)活動(dòng)非常多的知識(shí),不過(guò)恐怕離完全靈活運(yùn)用還有一段距離。雖然知識(shí)點(diǎn)只有這么多,但運(yùn)用的技巧卻是多種多...
    AndYMJ閱讀 1,025評(píng)論 0 1

友情鏈接更多精彩內(nèi)容