十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
眾所周知,小程序是由HTML標(biāo)簽來(lái)開(kāi)發(fā)原生組件,那么首先需要將HTML做解析,這里我們將HTML通過(guò)node腳本解析成JSON字符串,再用Dart來(lái)解析JSON,映射對(duì)應(yīng)的標(biāo)簽到flutter的組件。這里先簡(jiǎn)單介紹實(shí)現(xiàn)的功能以及展示效果,后續(xù)再詳細(xì)介紹。
公司主營(yíng)業(yè)務(wù):做網(wǎng)站、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出張店免費(fèi)做網(wǎng)站回饋大家。
為了高效解析,直接用flutter的組件名在HTML文件上開(kāi)發(fā)
直接使用flutter的組件
模仿微信小程序的Api,cc對(duì)應(yīng)是微信小程序的wx
以上HTML中的例子
《使用Flutter + V8/JsCore開(kāi)發(fā)小程序引擎(二)》
《使用Flutter + V8/JsCore開(kāi)發(fā)小程序引擎(三)》
在玩安卓上有款組件化開(kāi)源app的項(xiàng)目,一款模仿 Eyepetizer | 開(kāi)眼視頻的 開(kāi)源app,這款app設(shè)計(jì)風(fēng)格特別喜歡的,比較簡(jiǎn)潔,美觀,然后最近又在學(xué)flutter的知識(shí),于是就寫(xiě)了一款flutter版本的開(kāi)源短視頻,效果也是聽(tīng)不錯(cuò)的,廢話不多說(shuō),先上效果圖。
先附上項(xiàng)目地址:
項(xiàng)目api會(huì)在后面的參考鏈接里,或者直接項(xiàng)目?jī)?nèi)查看。
項(xiàng)目地址:
更新:6/30 項(xiàng)目新增下拉刷新,上拉加載功能
kotlin版本開(kāi)眼短視頻開(kāi)發(fā)中,敬請(qǐng)期待...
總結(jié):在此感謝參考的伙伴的文章,寫(xiě)的也很好,然后我將這個(gè)項(xiàng)目改寫(xiě)成了flutter,當(dāng)中也學(xué)習(xí)到了很多flutter相關(guān)的知識(shí),后續(xù)還有繼續(xù)鞏固,不斷學(xué)習(xí)。
參考鏈接(包含本項(xiàng)目的api)
Flutter 仿抖音效果 (一) 全屏點(diǎn)愛(ài)星
Flutter 仿抖音效果 (二) 界面布局
[Flutter 仿抖音效果 (三) 視頻播放列表] ( )
項(xiàng)目地址: 持續(xù)效果更新
1.基本的布局是簡(jiǎn)單的,外層通過(guò)Stack作為根
2.左邊點(diǎn)贊的控件組通過(guò)Align進(jìn)行統(tǒng)一布局
3.頂部控件組通過(guò)Positioned進(jìn)行布局,設(shè)置頂部距離,其實(shí)也可以用align,我們多使用幾種來(lái)習(xí)慣flutter的布局
4.底部同樣使用Positioned,設(shè)置底部距離
5.子頁(yè)面的左右滑動(dòng)使用PageView,一開(kāi)始我們要從推薦開(kāi)始左滑到關(guān)注,可以使用reverse屬性,不需要更多額外的操作
1.pageController監(jiān)聽(tīng)
刷新頂部的下劃線時(shí),我們一樣使用StreamController刷新,這樣效率比setstate高很多
2.歌曲名走馬燈效果
這個(gè)效果看起來(lái)挺麻煩的其實(shí)實(shí)現(xiàn)起來(lái)超級(jí)的簡(jiǎn)單用最普通的ListView就能快速的實(shí)現(xiàn)
首頁(yè)listview里面套入的是最簡(jiǎn)單的container+text
listview添加一個(gè)ScrollController做為滑動(dòng)的控制
使用一個(gè)定時(shí)器,把listview滑到最大的位置之后,在滑回去
先通過(guò)scroController.position.maxScrollExtent獲取最大位置,
然后通過(guò)scroController.animateTo進(jìn)行滑動(dòng),因?yàn)槲以O(shè)置一次循環(huán)的時(shí)間是3000毫秒,所以滑過(guò)去和滑回來(lái)的時(shí)間各占一般 new Duration(milliseconds: (time * 0.5).toInt()),還有就是歌名沒(méi)有大于最大寬度時(shí)候其實(shí)我們不需要進(jìn)行滑動(dòng),所以判斷maxScrollExtent是否大于0來(lái)確定是否進(jìn)行滑動(dòng)動(dòng)畫(huà)
項(xiàng)目地址: 持續(xù)效果更新
flutter 有個(gè)onTapUp 事件,字面意思就是 點(diǎn)擊抬起的,會(huì)返回 TapUpDetails details ,通過(guò) localPosition 屬性就能獲取到x,y坐標(biāo)
計(jì)算double 并不復(fù)雜,每次點(diǎn)擊的時(shí)候記錄下當(dāng)前的事件戳,只要兩個(gè)點(diǎn)擊的時(shí)間戳和坐標(biāo)距離小于自己設(shè)定的閾值,就可以視為雙擊事件
實(shí)現(xiàn)雙擊
我們使用OverlayEntry 控件,控件詳細(xì)介紹
效果一共有 縮小 → 上移 → 放大 → 消失
第一組動(dòng)畫(huà)(縮小 上移) → 第二組動(dòng)畫(huà)(放大 消失)
flutter 動(dòng)畫(huà)需要兩個(gè)類(lèi)
AnimationController 負(fù)責(zé)管理動(dòng)畫(huà)
Animation 負(fù)責(zé)具體值操作
然后通過(guò) Transform.scale 函數(shù)的,對(duì)scale值進(jìn)行改變
補(bǔ)全第一組動(dòng)畫(huà)
現(xiàn)實(shí)
項(xiàng)目地址: 持續(xù)效果更新
Flutter教程全套 (全網(wǎng)獨(dú)家)百度網(wǎng)盤(pán)免費(fèi)資源在線學(xué)習(xí) ?
鏈接:
提取碼: m9z8 ?
Flutter教程全套 (全網(wǎng)獨(dú)家)
第一套:Flutter 攜程17章全-整理好
第五套:Flutter高仿谷歌翻譯項(xiàng)目課程
第四套:兩小時(shí)掌握Flutter移動(dòng)App開(kāi)發(fā)視頻
第三套:flutter入門(mén)到精通全套
第七套:Flutter小實(shí)戰(zhàn)20個(gè)
第六套:仿直聘boss的flutter完整教程
第九套:Flutter跨平臺(tái)開(kāi)發(fā)
第二套:flutter移動(dòng)電商實(shí)戰(zhàn)-技術(shù)胖
第八套:Flutter基礎(chǔ)教程(基礎(chǔ)不好的優(yōu)先看)
24Flutter的打包.mp4
23靜態(tài)資源和項(xiàng)目圖片的處理.mp4
22頁(yè)面跳轉(zhuǎn)并返回?cái)?shù)據(jù)_.mp4
21導(dǎo)航的參數(shù)傳遞和接受-2_.mp4
20導(dǎo)航的參數(shù)傳遞和接受-1.mp4