ui設(shè)計(jì)的設(shè)計(jì)思路?
1,,明確劃分與UI相關(guān)和與UI無關(guān)的部分
根據(jù)UI的設(shè)計(jì)圖,,我們首先要把界面展現(xiàn)的數(shù)據(jù)先抽出去,只看UI的表現(xiàn),。也就是說,,把UI相關(guān)的部分抽出來。比如一個界面可能需要分幾部分組成,,每一部分大概怎么設(shè)計(jì)等。
2,,劃分屏幕大小,,明確出跳轉(zhuǎn)關(guān)系
要考慮到你的APP所對應(yīng)的屏幕大小及DPI,不同的屏幕與DPI,,你有可能會存在不同的UI布局,,最典型的是在3.0以上的SDK版本,,可能引入了Fragement元素,手機(jī)屏幕與平板的屏幕的UI設(shè)計(jì),,完全是兩種不同的風(fēng)格,。
還有,盡可能地明確出跳轉(zhuǎn)關(guān)系,,這可以用一些小卡片的形式來標(biāo)記,,一個卡版表示一個畫面,把不同畫面之間的遷移關(guān)系明確出來,。
同時,,還要把這些畫面之前的相同點(diǎn)與不同點(diǎn)找出來,因?yàn)檫@會影響到是否決定提取共通畫面,。
3,,列出需要用到的UI元素(Widget)
把界面上展現(xiàn)的UI元素列出來,像常用的button, imagebutton這些很簡單,,一看就知道,,關(guān)鍵是有些UI,可能會涉及到一些自定義的View,,這里一定要多考慮,。
另外,有可能為了統(tǒng)一控制,,比如也有可能擴(kuò)展一個Button,,派生類里面可能只是改變一個字體大小等,這種做法通常是用于多數(shù)UI的字體大小相同,,可以抽象出來個共通的Button,,這樣在各個UI里面,就可以不用都來設(shè)置這個字體大小,。
還有,,也可以抽出共通的style,比如textview的style,,文本顏色,,字體大小,是否加粗等,。
4,,列出哪些UI元素可以用SDK的,哪些則是需要自定義
據(jù)我的經(jīng)驗(yàn),,通常一個項(xiàng)目里面都會有自定義的組件(View),,多數(shù)是組合控件——把不同的Widget組合成一個Layout。這還要需要根據(jù)項(xiàng)目自身的需求來定,。
注意:這里一定要有一個良好的設(shè)計(jì),,以應(yīng)地需求變更,。比如第一版需求,可能不需要一些組合View,,直接使用SDK自身的Widget就能完成,,但經(jīng)過一些變動之后,發(fā)展之前的UI設(shè)計(jì)不合時宜,,可能需要提供自定義的View,,那么原來用到SDK自身的Widget的地方可能需要改動。這種改動說大也大,,說小也小,,在設(shè)計(jì)的時候,要多考慮一下這種需求變更,。
5,,完成UI界面的繪制
這一步,其實(shí)不一定會用到,,通常情況下,,不會涉及到自繪制,因?yàn)樽岳L制比較麻煩,,而且費(fèi)時間,,但是在特殊情況下,自繪制能提高效率,,因?yàn)槟阌肰iew布局,,會涉及到layout, measure, touch event, dispatch draw等方面,這些會影響性能,。
6,,進(jìn)行內(nèi)部邏輯和UI界面的整合
通常一個View里面,都會有一些邏輯,,特別是自定義的View,,可能會封裝一些特定的屬性。
在使用這些View的時候,,UI的activity會與這些View有一個邏輯的整合,。
本網(wǎng)站文章僅供交流學(xué)習(xí) ,不作為商用, 版權(quán)歸屬原作者,,部分文章推送時未能及時與原作者取得聯(lián)系,,若來源標(biāo)注錯誤或侵犯到您的權(quán)益煩請告知,我們將立即刪除.