原创 用GetX寫了一個待辦事項

在使用了 Provider 一年後,遇到了很多阻力,期間嘗試過 BLoC 、MobX ,均不如意,一個樣本代碼太多,使用複雜,一個生產代碼要等很久。難道 Flutter 就沒有諸如原生 Android 的 jetpack 套裝一樣方便的套件

原创 Flutter狀態管理終極方案GetX第二篇——狀態管理

說狀態管理到底在說些什麼 Flutter 應用是聲明式的,這也就意味着 Flutter 構建的用戶界面就是應用的當前狀態。當 Flutter 應用的狀態發生改變時(例如,用戶在設置界面中點擊了一個開關選項)改變了狀態,這將會觸發用戶界面的重

原创 Flutter點擊空白隱藏鍵盤的全局做法

開發原生頁面的時候,在處理鍵盤事件上,通常的需求是,點擊輸入框外屏幕,要隱藏鍵盤,同樣的,這樣的需求也需要在 Flutter 上實現, Android 上的實現方式是在基類 Activity 裏實現事件分發,判斷觸摸位置是否在輸入框內。

原创 FLutter 中使用 Stream 和 ValueNotifier 實現跨組件通信和自動取消註冊

響應式編程 Stream 每個 futurn 代表一個單一值,它異步的傳遞數據,或者錯誤,Streams 的工作方式類似,不同的是它代表一個單一 事件,隨着時間推移,它可以傳送零個、多個數據,或者錯誤。 單一 多個 Sync

原创 一文搞懂泛型 泛型

泛型 泛型是什麼? 泛型,即“參數化類型”。類型像參數一樣,具有多種類型,在使用時才確定。 比如我們需要一個裝 int 類型的容器,和一個裝 String 類型的容器,要分別製造幾個容器嗎?比如 IntArrayList 和 StringA

原创 Flutter 中的組件繪製完成監聽、組件生命週期和APP生命週期 Flutter 的 生命週期

Flutter 的 生命週期 說到 Flutter 的生命週期,其實就是說 StatefulWidget 的生命週期,因爲 StatelessWidget 是靜態控件。 StatefulWidget,通過藉助於 State 對象,處理狀態變

原创 搞懂Dart異步並封裝Isolate

Dart 是單線程,那麼怎麼異步呢?或者耗時爲什麼不卡線程呢? Dart 代碼運行在單個執行線程中,Flutter 引擎並不是單線程 Flutter 引擎並不會創建線程,embedder提供給4個 task runner 引用給Flutte

原创 Flutter 快速學會各種動畫(給女票做濾鏡、自定義switch不是夢)

動畫從原理上可以分爲兩類:補間動畫和基於物理動畫。 補間動畫顧名思義就是介於兩點之間,兩點也就是起點和終點。在補間動畫中,定義了起點和終點以及時間軸,再定義過渡時間和速度的曲線。然後框架會計算如何從起點過渡到終點。 物理動畫是基於對真實世界

原创 Flutter 快速學會各種動畫

動畫從原理上可以分爲兩類:補間動畫和基於物理動畫。 補間動畫顧名思義就是介於兩點之間,兩點也就是起點和終點。在補間動畫中,定義了起點和終點以及時間軸,再定義過渡時間和速度的曲線。然後框架會計算如何從起點過渡到終點。 物理動畫是基於對真實世界

原创 Dio的封裝

dio是一個強大的Dart Http請求庫,支持Restful API、FormData、攔截器、請求取消、Cookie管理、文件上傳/下載、超時、自定義適配器等.. 基本使用 添加依賴 dependencies: dio: ^3.x.

原创 Flutter筆記:理解佈局方向 Flutter筆記:理解佈局方向

Flutter筆記:理解佈局方向 Row、 Column: 這些具有彈性空間的佈局類Widget可讓您在水平(Row)和垂直(Column)方向上創建靈活的佈局。其設計是基於web開發中的Flexbox佈局模型。 Row 在水平方向上排列子

原创 Rxjava訂閱和取消流程分析

事件序列 簡單使用: Observable.just(1).subscribe(new Observer<Integer>() { @Override public void onSubscr

原创 優雅的設計啓動頁 設計一個啓動頁的兩種方式

設計一個啓動頁的兩種方式 app 越來越複雜,主頁啓動越來越耗時,並且往往需要預加載數據,這時候先展示一個啓動頁就顯得十分有必要了。流行的 app 一般都採用這種做法。 我們知道,如果第一屏啓動的慢,那麼會默認展示一個黑屏的缺省頁,這個黑色

原创 Flutter路由使用指北

路由管理 FLutter中的路由,和原生組件化的路由一樣,就是頁面之間的跳轉,也可以稱之爲導航。app維護一個路由棧,路由入棧(push)操作對應打開一個新頁面,路由出棧(pop)操作對應頁面關閉操作,而路由管理主要是指如何來管理路由棧。

原创 RecyclerView的核心要點

ListView的侷限: 只支持縱向佈局 沒有動畫api,實現item動畫複雜 沒有強制實現VIewHolder RecyclerView的優勢: 默認支持Linear、Grid、Staggered Grid 三種佈局 ItemAni