StackDoc

StackDoc

當前位置: 主頁 > IT新聞 > GOOGLE >

Android UI Design Tips(Google官方出品:Android UI 設計指導)第一部分

時間:2011-08-11 19:23來源:Internet 作者:Internet 點擊:
Android UI Design Tips是Google官方開發者博客上發布的一組PPT,旨在指導設計和開發者如何構建一個卓越的應用程序。 既然是Android他母親寫的,了解自己兒子的肯定是自己
?

Android UI Design Tips是Google官方開發者博客上發布的一組PPT,旨在指導設計和開發者如何構建一個卓越的應用程序。

既然是Android他母親寫的,了解自己兒子的肯定是自己的父母嘛。

沒錯,這幾組PPT確實很精品。

因此在網上找了些翻譯資料,大多都只翻譯了前面一小部門,後面的我准備参考其它人的只言片語,勉強翻譯翻譯,第一次翻譯,水准不高,將就看吧。

此部分文章参考至:額,我也不知道原作者,那就感謝百度文庫吧。http://wenku.baidu.com/view/4eabd2d950e2524de5187ebd.html

開始



为什麼我們要關心 UI?

如果一個應用軟件具備良好的使用體驗,那麼:
1.  用戶所感知的軟件質量越好
2.  將给你更高的評分
3.  軟件會有更好的排名
4.  更多人購買或安裝你的軟件

總之,特別是移動應用,UI是一個軟件成功的關鍵。


接下來將討論如下內容:
1.  應該遵循和不應該遵循的設計原則
2.  設計理念和各種考慮因素
3.  你必須使用的 UI 框架特性
4.  新的 UI 設計模式
5.  圖標和准則


1.  應該遵循和不應該遵循的設計原則


錯誤的設計原則
1. 不要照搬其他平台上的 UI 設計。應該讓用戶感覺是在使用一個真正的 Android軟件,在你的品牌顯示和平台整體觀感之間做好平衡。
2. 不要過度使用模態進度條和確認對話框(文:意思是,不要經常彈出那些擋了用戶所有操作的對話框或進度框。)
3. 不要使用固定的絕對定位布局。(文:AbsolutLaout,軟件中你若使用此布局方式,意味着,市面上有多少種分辨率手機,你就要寫多少份布局文件)
4. 不要使用 px 單位,使用 dp;如果是文本,使用 sp 。(文:因为Android產品眾多,各自分辨率的手機充斥市場。如果使用和分辨率相關的單位(px),很可能導致在其它分辨率的手機上看到你意料之外的Size效果。而dp(或者dip)和sp是和屏幕密度相關的(其實是根據320x480为標准計算的))
5. 不要使用太小的字體。

正確的設計原則

1. 所有資源都要針對高分辨率屏幕創建

2. 需要點擊的元素要夠大

3. 圖標設計要遵循 Android 的准則

4. 要使用适當的間距(margins, padding)

5. 要支持 D-pad 和 trackball 導航(文:我猜測是“觸摸屏”和“軌跡球”,“軌跡球”相當與PC上的鼠標,當用戶滑動軌跡球去指向目標事物時,目標事物需要做出回應。說好懂點,相當於當你的鼠標劃過一個鏈接或當你的鼠標懸停再一個鏈接上的時候,鏈接通常會加高亮。如果說“觸摸屏”只需要關注用戶手指按下的動作,那麼“軌跡球”還要關注“控件”被選中的動作。)
6. 要正確管理活動(activity)棧(文:activity的lanchmode屬性能夠設置activity在棧中的活動狀態,例如棧內單例或者棧頂單例或者總是新建等。决定於你是否希望用戶重新回到上一個(或更早)的界面,看到“最初的”還是“上一次”的數據。前者通常意味着丟棄用戶上一次填寫的數據、從數據庫查詢更新的數據等等。例如華錄益康項目中,當用戶按HOME鍵回到桌面,然後點擊狀態欄(桌面頂部)將出現一個“小人”圖標,用戶點擊它將會回到應用程序中來,對於“主界面”或者“圖表界面”來說,就是使用的看到“上一次”數據的方式。取决與他們的lanchmode的設置)。
7. 要正確處理屏幕方向變化。(文:除非萬不得已,否則建議不要強制橫屏或豎屏。躺在床上玩手機的人知道,單手舉在空中久了,手會酸疼,這時候希望橫過屏來雙手操作。雙手舉久了,就想測過身來躺並換成單手舉着。總之,人類這個生物永遠不可能找不到讓自己永遠滿意的舒服的姿勢。因此,保險的做法是,將他任何的使用姿勢都考慮在內。
可是我悲哀的發現,就算我們做到了支持自動橫、豎屏,人類還是不會滿足。因为當你側身單手使用手機的時候,就算豎着拿手機(對於正側身的人來說,手機是豎着的。這時候人的意願應該是想豎屏顯示內容),可是因为手機方向對於地球來說,已經橫過來了,因此,手機內容會變成橫屏。當我使用某款電子書軟件時,這個問題可是煩透我了(我不得不偏着頭看書),直到用了"QQ Reader",心情一下子無比歡暢,僅僅因为他支持 “總是橫屏或總是豎屏” 的設置。於是我就這样成了 "QQ Reader" 的忠實用戶。
迷住一個男人,只需要女人一個妖媚的眼色;迷住用戶,有時候也只需要一個很貼心的細節。)
8. 要使用主題/样式、尺寸和顏色資源來減少界面冗餘。
(例如,你的軟件(甚至同一個界面)裏有很多文本框,每個文本框的样式都差不多甚至一样。那麼你是否每個都要設置一堆啊?如:
<EditText
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="5.0dip"
android:layout_marginRight="5.0dip"
android:layout_marginBottom="5.0px"
android:background="@drawable/login_edit"
android:paddingLeft="35.0sp"
android:singleLine="true"
android:saveEnabled="true"
android:inputType="text"
/>
還是說這样稍微好點呢(將修飾成Style裏,讓Style重用):
<EditText  style="@style/Style_Edit" /> 
假如說你的軟件裏有二十個這样的文本框,你只需复制這一行代碼二十次就可以了。
還有人會猶豫說,我的二十個文本框另外還有些細節的區別怎麼半?
1. 为每種文本框都寫一個Style 。
2. 抽象出幾種間的共同點,用
<style parent="@style/Base_Edit">...差異化內容</style>
3. 假如差異的內容並多並且不常見的化,還有個小竅門。例如:
<EditText  style="@style/Style_Edit" 
android:inputType="password"
/>
這样就將,Style为普通文本框修改成了密碼框。秘訣在與android解析XML應該用的pull解析器,pull解析器的特征就是寫在前面的屬性將被先解析到(先觸發事件),因此,android:inputType="password"因为被寫在了後面,就將覆蓋Style裏面的內容。這样也完成了样式差異化。)

9. 要和視覺與交互設計師合作

2.  設計理念和各種考慮因素


設計理念
1. 幹净而不過於簡單(文:讓我想到了一句話--美觀是用戶體驗的一種表達形式,而不是为了美觀而美觀。)
2. 關注內容而非修飾
3. 一致,吸引人,少量簡潔的變化
4. 使用雲端服務(同時在 PC 桌面和手機上同步用戶使用場景)來加強用戶體驗


優秀界面的設計准則
1. 關注用戶
2. 顯示正確的內容
3. 给予用戶适當的回饋
4. 有章可循的行为模式
5. 容忍錯誤

下面將祥述以上五點:


關注用戶
1. 了解你的用戶(年齡,技能,文化,是否有身體障礙,對應用的需求,使用的設備,何時何地如何使用設備)
2. “用戶優先”的設計心態 (用戶通常是任務導向的)
3. 更早、更頻繁的由真實用戶來測試



顯示正確的內容
1. 最常用的操作用戶應該立即可以看到並且使用
2. 次要功能可以放到菜單裏面



给予用戶适當的回饋
1. 交互式的 UI 元素最少需要反映出 4 種不同的狀態 (default,disabled,focused,pressed)(文:推薦Google自家的 Google Music Android客戶端)
2. 保證操作的結果是清晰可見的。(文:這個我推薦Excel)
3. 多给予用戶進度提示,但是不要幹擾他們當前的操作。
(文:其它常見的替代方式:
1. 常駐通知欄,下劃通知欄能看到當前進度。需要學習RemoteView。
2. 在Title右測顯示小的圓形進度條(一直旋轉那種)。如Gmail等。
3. 像Windows的中的迅雷下載一样,置頂顯示一個小圖標。推薦體驗一下UC迅雷,感覺不錯。WindowManager的針對整個屏幕的addView和removeView機制能夠實現此效果。
4. 像UC瀏覽器那種,屏幕頂部顯示一個橫向的進度條。 


有章可循的行为模式
1. 行为模式遵循用戶的期望(正確的操作活動棧,顯示用戶期望看到的信息和動作)
2. 使用合适的方式來加強功能可見性(可點擊的元素就應該看起來是可以點擊的)
3. 如果用戶完成一項任務需要复雜的操作,重新思考你的設計!!!



容忍錯誤
1. 只允許有意義的操作(适當禁用一些 UI 元素)
2. 盡量減少不可回退的操作
3. 允許回退(undo)比使用確定對話框更好(實際上,應該盡量少用確定對話框,它對用戶是一種幹擾)
(文:這個目前少有遵循的。大多數都是當用戶快要將應用程序退出前台時,彈出對話框詢問用戶“是否確認退出”。某些設計者可能基於的考慮是:
第一,用戶會誤操作而退出程序。其實就算產生這样的誤操作,Android也不會損壞用戶的數據,下一次打開時,應用程序還將直接恢复上一次的數據。何況Android中打開最近的程序非常簡單,長按HOME鍵即可。为什麼還要幹擾一下用戶呢?)
第二,搶走了用戶內存。因为如果用Android的默認機制,此應用程序就算退出前台,依然會駐留內存,消耗用戶的資源。因此,最好詢問一下用戶,如果用戶確認退出,則釋放相關資源。
其實是這样的,首先,退出前台的程序,並不會消耗過多的內存。其次,當用戶內存緊張的時候,應用程序將自動回收這部分的內存。就相當於用戶有一個全天保姆,保姆的小少爺只需要狠狠的、不需要任何焦慮的玩,也不怕丟東西,也不怕產生垃圾。保姆自會處理。不得不說,這是Google出於對用戶非常貼心的考慮而出現的設計。

第三,好吧小文,你說這麼多,對,有些道理。但是用戶不知道啊?用戶不理解啊?用戶可不會去管你Google這是什麼高明的設計,只知道,內存是我的東西,總之是剩下得越多越好。每次內存吃緊的時候,首先想到:肯定是好多應用程序沒死幹净!真討厭!馬上卸載!!!好吧,這就是被Windows培養出來的思維習慣,我們沒辦法。沒法解釋了。)



如果錯誤是可能發生的,那它就一定會發生。
- Donald Norman《The Design of Everyday Things》作者(文:《設計心理學》,關於Donald Norman的詳細情況在這:http://www.techcn.com.cn/index.php?doc-view-134543.html)




設計上的考慮因素
1. 屏幕的物理尺寸
2. 屏幕密度
3. 屏幕的方向(豎向和橫向)
4. 主要的 UI 交互方式(觸屏還是使用 D-pad/trackball)
5. 軟鍵盤還是物理鍵盤
6. 了解不同設備之間的相異之處是非常重要的
7. 閱讀 CDD(兼容性定義文檔),了解設備可能的差異
8. 了解屏幕尺寸和密度分類(點擊這裏閱讀)







From:http://blog.csdn.net/wenlin56/article/details/6679781
頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
發表評論
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
評價:
表情:
用戶名: 驗證碼:點擊我更換圖片
欄目列表
推薦內容
GOOGLE提供的廣告