android UI設計MVVM設計模式

2021-07-10 02:40:34 字數 735 閱讀 9080

在傳統的框架中,提的最多的是mvc和mvp。其中mvc出現與上世紀70年代,在三十多年的工程實踐中,mvc充分證明了它的成功,同時在漫長的時間中演變出了許多變種,其中也包括mvp.

mvc和mvp最大的差別在與控制層對於整個框架的控制力上。android中經常會出現數千行的activity**,究其原因,我認為是android中純粹作為view的各個xml檢視功能太弱,activity基本上都是view和controller的合體,既要負責檢視的顯示又要加入控制邏輯,承擔的功能過多,**量大也就不足為奇。所以我認為在android上,mvp優於mvc,是因為我們需要更強力的控制層最大程度上分擔activity中邏輯的部分,具體的思想可以參考我的部落格:

mvvm可以算是mvp的公升級版,其中的vm是viewmodel的縮寫,viewmodel可以理解成是view的資料模型和presenter的合體,viewmodel和view之間的互動通過data binding完成,而data binding可以實現雙向的互動,這就使得檢視和控制層之間的耦合程度進一步降低,關注點分離更為徹底,同時減輕了activity的壓力,三者之間的差別如下如所示:

vm中view的資料模型每個頁面當然只有一套,但是presenter,我建議根據邏輯拆開。

Android UI模板設計

1 先在values資料夾下建立乙個values xml檔案 2 繼承了retativelayout,並重寫了它的構造方法 3 在構造方法中,將所有獲取的屬性的值存在typearray中 name topbar name title format string name titletextsize ...

Android UI設計技巧

1.使用include標籤實現包含共享ui設計 1 建立新的布局檔案 title layout.xml,裡面包含共享內容的布局 2 layout屬性 其對應抽取出來的共享的布局內容 2.使用shapes實現漸變效果 1 建立新的drawable的xml檔案 gradient 產生顏色漸變 andro...

Android UI設計的基礎

ui 設計 人機互動和實用性是乙個很大的話題,將不會在這本書裡進行深入的討論。話雖如此,當你建立 ui時對它們有個準確無誤的認識也是很重要的。android 為相似的程式設計名詞引入了一些新的術語,將在下面的章節詳細描述 views view 是視覺介面元素中基本的 ui類 和通常了解的 contr...