原创 Flutter-循環滾動、首尾相連、停留在中間的視圖

天長地久有時盡此恨綿綿無絕期 前言 設計來自項目中搜索模塊的更多篩選功能,篩選宜居人數主要功能:支持循環滾動、且每次都停留在屏幕中間位置首尾相連點擊滾動到屏幕中間位置 默認樣式 滾動之後樣式 設計思路 ListView.builder滾

原创 Flutter-解決鍵盤彈起導致頁面佈局異常

無邊落木蕭蕭下不盡長江滾滾來 前言 在搜索條輸入框點擊彈層鍵盤的時候會引起頁面佈局變化如下圖所示: 解決之後的樣式: 解決方式 第一種設置Scaffold的屬性resizeToAvoidBottomPadding爲false, 第二種Sc

原创 Flutter-異步加載

紅豆生南國,春來發幾枝勸君多采擷,此物最相思 前言 先去JSONPlaceholder網站上找到一個接口:http://jsonplaceholder.typico...返回的數據爲json格式 安裝一個HTTP插件:http: ^0.1

原创 算法-統計一個視圖上所有子視圖的個數

從此無心愛良夜任他明月下西樓 前言 統計一個視圖上所有子視圖的個數包含子視圖的子視圖 實現方式 遞歸 DFS深度優先遍歷 隊列 BFS廣度優先遍歷 代碼實現 遞歸 思想: 視圖爲空的時候返回0 視圖沒有子視圖的時候返回1 視圖有子視圖的

原创 Flutter-拖拽條的實現

去年今日此門中,人面桃花相映紅人面不知何處去,桃花依舊笑春風 實現樣式 支持功能 支持左右滑動支持拖拽結束後停留在固定位置邊界處理 代碼實現 拖拽條封裝成了一個widget:HousePrice 注意:ColorUtil 是一個第三方

原创 Flutter-自定義日曆的實現

紅衣佳人白衣友,朝與同歌暮同酒。世人皆謂慕長安,然吾只戀長安某。 前言 最近我們的UI小姐姐給了一份這樣的日曆設計圖 ┭┮﹏┭┮,可以上下滑動,支持多日選擇,再次進入日曆頁面可以選中上次選中的日期,開始想冒着僥倖的心裏去找找網上的開源庫,

原创 算法-顏色分類

故人西辭黃鶴樓,煙花三月下揚州。孤帆遠影碧空盡,唯見長江天際流。 今天吃了一頓送別餐,一個一起工作的很久的小夥伴將要離開。。。 前言 給定一個包含紅色、白色和藍色,一共 n 個元素的數組,原地對它們進行排序,使得相同顏色的元素相鄰,並按照

原创 iOS-單元測試詳解

似此星辰非昨夜爲誰風露立中宵 前言 我們在做組件化的過程中,肯定需要做的一步就是拆組件,把我們項目中的各個模塊拆分爲基礎組件、功能組件、業務組件,但是在拆分的過程中很容易就會出現問題,所以我們在做組件化的過程中把每個組件都加上了單元測試,

原创 哈希映射-有效的字母異位詞

南朝四百八十寺多少樓臺煙雨中 前言 本題摘自LeetCode第242題,有效的字母異位詞, 題目描述 給定兩個字符串 s 和 t ,編寫一個函數來判斷 t 是否是 s 的字母異位詞。 事例1: 輸入: s = "anagram", t =

原创 Block底層實現原理

古巷悠悠歲月深,青石老街印舊痕今夜小樓聽風雨,不見當年傘下人 前言 Block作爲iOS中老生常談的問題,也是面試中面試官比較喜歡問的 一個問題 ,下面我們通過源碼查看block的底層實現原理 什麼是Block Block:將函數及其上下

原创 Flutter之自定義封裝輪播圖

黃沙百戰穿金甲不破樓蘭終不還 前言 通過封裝PageView+Timer實現無限輪播,手動拖拽時停止定時器功能,拖拽完成後開啓定時器。 功能 自動輪播 手動輪播 指示器 功能展示 代碼實現 輪播組件的構造方法 class Car

原创 交叉鏈表

無可奈何花落去 似曾相識燕歸來 前言 兩個鏈表list1和list2如果中間有一個交匯點。怎樣在線性時間內求出這個交匯點? 思路 分別求出兩個鏈表的長度 把長鏈做偏移和短鏈一樣長 同時移動兩個鏈表的首指針,判斷節點是否相等 相等則找到交