flutter_k_chart基本實(shí)現(xiàn)了火幣里面各項(xiàng)指標(biāo)線以及深度線,F(xiàn)lutter目前沒(méi)有比較好的開源組件,就自己寫了一個(gè),聲明式ui自定義起來(lái)有點(diǎn)怪怪的,但大致與android差不多,先上效果圖

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到昌江網(wǎng)站設(shè)計(jì)與昌江網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋昌江地區(qū)。
使用方式
GitHub地址:
后期會(huì)持續(xù)完善,歡迎指出問(wèn)題以及star
在玩安卓上有款組件化開源app的項(xiàng)目,一款模仿 Eyepetizer | 開眼視頻的 開源app,這款app設(shè)計(jì)風(fēng)格特別喜歡的,比較簡(jiǎn)潔,美觀,然后最近又在學(xué)flutter的知識(shí),于是就寫了一款flutter版本的開源短視頻,效果也是聽不錯(cuò)的,廢話不多說(shuō),先上效果圖。
先附上項(xiàng)目地址:
項(xiàng)目api會(huì)在后面的參考鏈接里,或者直接項(xiàng)目?jī)?nèi)查看。
項(xiàng)目地址:
更新:6/30 項(xiàng)目新增下拉刷新,上拉加載功能
kotlin版本開眼短視頻開發(fā)中,敬請(qǐng)期待...
總結(jié):在此感謝參考的伙伴的文章,寫的也很好,然后我將這個(gè)項(xiàng)目改寫成了flutter,當(dāng)中也學(xué)習(xí)到了很多flutter相關(guān)的知識(shí),后續(xù)還有繼續(xù)鞏固,不斷學(xué)習(xí)。
參考鏈接(包含本項(xiàng)目的api)
眾所周知,小程序是由HTML標(biāo)簽來(lái)開發(fā)原生組件,那么首先需要將HTML做解析,這里我們將HTML通過(guò)node腳本解析成JSON字符串,再用Dart來(lái)解析JSON,映射對(duì)應(yīng)的標(biāo)簽到flutter的組件。這里先簡(jiǎn)單介紹實(shí)現(xiàn)的功能以及展示效果,后續(xù)再詳細(xì)介紹。
為了高效解析,直接用flutter的組件名在HTML文件上開發(fā)
直接使用flutter的組件
模仿微信小程序的Api,cc對(duì)應(yīng)是微信小程序的wx
以上HTML中的例子
《使用Flutter + V8/JsCore開發(fā)小程序引擎(二)》
《使用Flutter + V8/JsCore開發(fā)小程序引擎(三)》
這是領(lǐng)苗確認(rèn)記錄詳情頁(yè)需要展示給用戶的內(nèi)容,大家可以看到這個(gè)頁(yè)面要承載很多的信息,要向下滾動(dòng)一段很長(zhǎng)的距離才能展示完,想要實(shí)現(xiàn)的效果是在頁(yè)面的頂部有一個(gè)TabBar,用戶可以通過(guò)點(diǎn)擊TabBar進(jìn)行錨點(diǎn)(jumpTo到指定位置),AppBar下的整個(gè)頁(yè)面是可以自由滾動(dòng)的,在滾動(dòng)過(guò)程中AppBar始終固定在頂部,TabBar在第一次進(jìn)入詳情頁(yè)的時(shí)候不顯示,只有在向下滑動(dòng)的時(shí)候會(huì)由透明漸變?yōu)椴煌该鞑⒐潭ㄔ陧敳浚瑫r(shí)當(dāng)頁(yè)面滑動(dòng)到TabBar錨點(diǎn)位置的時(shí)候TabBar會(huì)切換到對(duì)應(yīng)的下標(biāo),也就是要實(shí)現(xiàn)TabBar和ScrollView聯(lián)動(dòng)的雙向控制,Tabbar的切換可以控制頁(yè)面的跳轉(zhuǎn),頁(yè)面的滑動(dòng)又可以反過(guò)來(lái)控制TabBar的切換,類似與京東、淘寶的商品詳情頁(yè)效果。
SliverAppBar基本已經(jīng)達(dá)到了我們想要的效果,但在界面頂部會(huì)有塊空白區(qū)域試了很多方法怎么都去不掉,最后看了SliverAppBar這個(gè)控件的源碼發(fā)現(xiàn)是它自帶的初始高度。
這個(gè)沒(méi)法設(shè)置或消除,不可能直接去改源碼,所以后來(lái)?yè)Q了一種實(shí)現(xiàn)思路,舍棄了SliverAppBar這個(gè)控件,以Stack的形式將TabBar置于ScrollView之上也能達(dá)到我們想要的效果,那么問(wèn)題來(lái)了,如何實(shí)現(xiàn)TabBar的滾動(dòng)漸變?很容易想到Opacity透明度控件,通過(guò)滾動(dòng)監(jiān)聽來(lái)控制TabBar透明度的改變,借助Notificaion可以完美實(shí)現(xiàn)我們的需求。
Notification是Flutter中一個(gè)重要的機(jī)制,在Widget樹中,每一個(gè)節(jié)點(diǎn)都可以分發(fā)通知(Notification)與父(包括祖先)Widget通信,通知會(huì)沿著當(dāng)前節(jié)點(diǎn)(context)向上傳遞,所有父節(jié)點(diǎn)都可以通過(guò)NotificationListener來(lái)監(jiān)聽自己關(guān)注的通知,F(xiàn)lutter中稱這種通知由子向父的傳遞為“通知冒泡”(Notification Bubbling)。
Flutter中很多地方使用了通知,如可滾動(dòng)(Scrollable) Widget中滑動(dòng)時(shí)就會(huì)分發(fā)ScrollNotification,而Scrollbar正是通過(guò)監(jiān)聽ScrollNotification來(lái)確定滾動(dòng)條位置的。除了ScrollNotification,F(xiàn)lutter中還有SizeChangedLayoutNotification、KeepAliveNotification 、LayoutChangedNotification等。
通過(guò)NotificationListener監(jiān)聽滾動(dòng)事件和通過(guò)ScrollController有兩個(gè)主要的不同:
通過(guò)改造后,目前這個(gè)組件的原型已經(jīng)實(shí)現(xiàn)并且可以滿足我們的需求,最后就是對(duì)該demo進(jìn)行完善使其能夠完美接入我們的業(yè)務(wù),做到技術(shù)賦能業(yè)務(wù)。
在一個(gè)頁(yè)面滾動(dòng)區(qū)域不是很長(zhǎng)的情況下不建議使用,只有當(dāng)頁(yè)面足夠長(zhǎng)的情況下使用這個(gè)組件效果會(huì)比較好,因?yàn)槿绻粋€(gè)頁(yè)面過(guò)短,點(diǎn)擊TabBar最后一欄進(jìn)行錨點(diǎn)時(shí),頁(yè)面最后一個(gè)子模塊內(nèi)容無(wú)法置頂,只會(huì)將頁(yè)面最后的內(nèi)容推到屏幕范圍內(nèi),并且由于TabBar監(jiān)聽到的是滾動(dòng)的位置,會(huì)導(dǎo)致TabBar無(wú)法切換到對(duì)應(yīng)的下標(biāo),看上去會(huì)像個(gè)bug,其實(shí)是因?yàn)榈撞恳呀?jīng)沒(méi)有內(nèi)容了。
這個(gè)組件本身并沒(méi)有太大的技術(shù)難度,但是有一些比較細(xì)節(jié)的小邏輯得處理好,并且從中衍生出來(lái)的很多瑣碎的小的知識(shí)點(diǎn)都可以進(jìn)行拓展。 在組件開發(fā)的過(guò)程中遇到問(wèn)題時(shí)不局限于控件本身的設(shè)計(jì)模式,轉(zhuǎn)變開發(fā)思維去找尋一些比較新穎的解決方案可能會(huì)有意外的收獲。同時(shí)技術(shù)不能脫離于業(yè)務(wù),技術(shù)賦能業(yè)務(wù)才能創(chuàng)造價(jià)值。
Flutter教程全套 (全網(wǎng)獨(dú)家)百度網(wǎng)盤免費(fèi)資源在線學(xué)習(xí) ?
鏈接:
提取碼: m9z8 ?
Flutter教程全套 (全網(wǎng)獨(dú)家)
第一套:Flutter 攜程17章全-整理好
第五套:Flutter高仿谷歌翻譯項(xiàng)目課程
第四套:兩小時(shí)掌握Flutter移動(dòng)App開發(fā)視頻
第三套:flutter入門到精通全套
第七套:Flutter小實(shí)戰(zhàn)20個(gè)
第六套:仿直聘boss的flutter完整教程
第九套:Flutter跨平臺(tá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
標(biāo)題名稱:flutter仿京東,Flutter仿京東商城
分享URL:http://chinadenli.net/article39/dsepish.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、定制開發(fā)、網(wǎng)站設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、微信公眾號(hào)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)