原创 Bootstrap之側邊導航菜單(可摺疊分組)

效果圖: 源碼: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equi

原创 設計模式筆記(三)--裝飾者模式

裝飾者模式(Decorator Pattern) 動態地將責任附加到對象上。若要擴展功能,裝飾者提供了比繼承更有彈性的替代方案。 簡單點說,裝飾者可以裝飾(也就是在原來功能的基礎上再擴展其功能)被裝飾者。一個被裝飾者可以被多個裝飾者裝飾

原创 設計模式筆記(六)--適配器模式、外觀模式

適配器模式(Adapter Pattern) 將一個類的接口,轉換成客戶期望的另一個接口。適配器讓原本接口不兼容的類可以合作無間。 簡單點說,就是利用適配器將不符合自己期望的接口轉成自己想要的接口。 對象適配器: 類適配器: 還是先

原创 設計模式筆記(二)--策略模式、觀察者模式

(1)策略模式(Strategy Pattern) 定義了算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨立於使用它的客戶。 簡單點說,一個客戶類/對象有很多功能策略,這些策略因爲對象的不同有不同的算法實現,這時我們可

原创 Android自定義ViewGroup工具類ViewDragHelper分析

        ViewDragHelper,包含在android.support.v4.widget包中。View,Drag,Helper,字面意思很直觀地表明瞭它是一個視圖拖動輔助類,封裝了View拖動所涉及的觸屏事件檢測、View屬

原创 設計模式筆記(十)--小結

        設計模式根據目的的不同可以分爲創建型模式、結構型模式和行爲型模式。 創建型模式(Creational Pattern): 爲了靈活而高效地創建對象。 包含:工廠方法模式(Factory Method Pattern)、抽

原创 Bootstrap之表格checkbox複選框全選

效果圖: HTML中無需添加額外的一列來表示複選框,而是由JS完成,所以正常的表格佈局就行了: <table class="table table-bordered table-hover"> <thead> <tr class

原创 JavaScript總結(一)

JS(JavaScript):         基於對象和事件驅動的腳本語言。它的作者是布蘭登·艾奇(Brendan Eich),在1995年用了10天的時間設計完成,估計他也沒想到這個腳本語言會受到認可和歡迎,併成爲目前最重要的前端語言

原创 設計模式筆記(十一)--建造者模式、原型模式、單例模式

建造者模式(Builder Pattern) 封裝一個產品的構造過程,並允許按步驟構造。 還有一個通俗的定義是:將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 簡單點說,就是客戶類想要創建結構或者邏輯特別複雜

原创 前端基礎與CSS中的浮動

HTML元素分爲五種: ① 空內容元素(Void elements)         area, base, br, col, embed, hr, img, input, keygen, link, menuitem, meta, pa

原创 設計模式筆記(四)--工廠方法模式、抽象工廠模式

工廠模式(Factory Pattern)     (1)簡單工廠(Simple Factory) 應該都注意到了,這裏沒有使用模式(Pattern)的字眼,因爲簡單工廠更像是一種編程習慣,而不是嚴格意義上的設計模式。 先說一下客戶類怎

原创 設計模式筆記(九)--狀態模式、代理模式

狀態模式(State Pattern) 允許對象在內部狀態改變時改變它的行爲,對象看起來好像修改了它的類。 簡單點說,一個對象持有一個狀態對象來表示自己現在的狀態,當有行爲(動作請求)時,該對象會委託給當前狀態對象處理,因當前狀態對象的

原创 設計模式筆記(七)--模板方法模式

模板方法模式(Template Method Pattern) 在一個方法中定義一個算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以在不改變算法結構的情況下,重新定義算法中的某些步驟。 簡單點說,超類的模板方法中定義了一個算法

原创 Glide之GlideModule

GlideModule接口:爲了延遲配置Glide(包括用GlideBuilder設置選項,爲Glide註冊ModelLoader) 所有的GlideModule實現類必須是public的,並且只擁有一個空的構造器,以便在Glide延遲

原创 RxJava2詳解(二)--操作符

操作符簡介 Observable和Observer只是ReactiveX的開始,他們自己只不過是標準觀察者模式的輕微擴展,更適合處理事件序列而不是單個回調。 ReactiveX真正強大的是那些讓你可以隨意變換、組合、操作Observab