我們在設計UI時,通常是有一些步驟與原則,下面列出了一些常用的,可能也不是很準確,希望拋磚引玉,讓大家對UI設計有一個思路,這裡一定要有一個意識,在拿到一個UI設計圖的時候,不要馬上就想到要怎麼怎麼實現,而是需要細心分析與設計。
1,明確劃分與UI相關和與UI無關的部分
根據UI的設計圖,我們首先要把介面展現的資料先抽出去,只看UI的表現。也就是說,把UI相關的部分抽出來。比如一個介面可能需要分幾部分組成,每一部分大概怎麼設計等。
2,劃分螢幕大小,明確出跳轉關係
要考慮到你的APP所對應的螢幕大小及DPI,不同的螢幕與DPI,你有可能會存在不同的UI布局,最典型的是在3.0以上的SDK版本,可能引入了Fragement元素,手機螢幕與平板的螢幕的UI設計,完全是兩種不同的風格。
還有,儘可能地明確出跳轉關係,這可以用一些小卡片的形式來標記,一個卡版表示一個畫面,把不同畫面之間的遷移關係明確出來。
同時,還要把這些畫面之前的相同點與不同點找出來,因為這會影響到是否決定提取共通畫面。
3,列出需要用到的UI元素(Widget)
把介面上展現的UI元素列出來,像常用的button, imagebutton這些很簡單,一看就知道,關鍵是有些UI,可能會涉及到一些自訂的View,這裡一定要多考慮。
另外,有可能為了統一控制,比如也有可能擴充一個Button,衍生類別裡面可能只是改變一個字型大小等,這種做法通常是用於多數UI的字型大小相同,可以抽象出來個共通的Button,這樣在各個UI裡面,就可以不用都來設定這個字型大小。
還有,也可以抽出共通的style,比如textview的style,文本顏色,字型大小,是否加粗等。
4,列出哪些UI元素可以用SDK的,哪些則是需要自訂
據我的經驗,通常一個項目裡面都會有自訂的組件(View),多數是群組控制項------把不同的Widget組合成一個Layout。這還要需要根據項目自身的需求來定。
注意:這裡一定要有一個良好的設計,以應地需求變更。比如第一版需求,可能不需要一些組合View,直接使用SDK自身的Widget就能完成,但經過一些變動之後,發展之前的UI設計不合時宜,可能需要提供自訂的View,那麼原來用到SDK自身的Widget的地方可能需要改動。這種改動說大也大,說小也小,在設計的時候,要多考慮一下這種需求變更。
5,完成UI介面的繪製
這一步,其實不一定會用到,通常情況下,不會涉及到自繪製,因為自繪製比較麻煩,而且費時間,但是在特殊情況下,自繪製能提高效率,因為你用View布局,會涉及到layout, measure, touch event, dispatch draw等方面,這些會影響效能。
6,進行內部邏輯和UI介面的整合
通常一個View裡面,都會有一些邏輯,特別是自訂的View,可能會封裝一些特定的屬性。
在使用這些View的時候,UI的activity會與這些View有一個邏輯的整合。
以上是我的一些想法,歡迎大家指正。
關於Android應用程式的架構設計,請參考 《Android 程式架構設計》http://blog.csdn.net/leehong2005/article/details/8535306
CSDN的部落格怎麼插入超連結,誰知道?