提升應用視覺Android效果的10個UI技巧

Android應用開發中,風格和設計或許不是最關鍵的要素,但它們在決定Android應用成功與否上確實扮演重要的角色。以下是10個Android應用的UI設計技巧,還有個附加技巧,能夠提供你的Android應用的視覺吸引力。

技巧1:使用大小適當的圖像

在圖像方面,許多Android應用開發者采用的是大小單一的做法。盡管這會使資源管理變得更為簡單,但就應用的視覺吸引力而言,這是個錯誤的做法。要讓應用呈現出最佳的視覺效果,那么就應當針對具體的設備屏幕設計不同的圖像。最適當的圖像才能構建出最棒的用戶體驗。

技巧2:使用適當格式的圖像

我們都見過有些應用在嘗試加載某些大型圖像時會暫停,這不僅僅因為圖像的大小存在偏差,而且還因為圖像采用了非理想的格式。Android平臺支持許多種媒體格式,比如PNG、JPEG、GIF、BMP和WebP(游戲邦注:僅Android 4.0+版本支持)。PNG是無損圖片的理想格式,而JPEG的呈現質量并不穩定。

Android還支持帶有Nine-Patch的彈性圖像。如果可行的話,可以考慮使用WebP來替代JPEG,因為這種格式在存儲和下載時效率更高。也就是說,如果將其作為與較老格式同時使用的獨立圖片,那么應用整體規模會變大,這就削減了使用新格式的優勢。

技巧3:運用微妙動畫,顏色來呈現狀態改變

在屏幕轉場時運用微妙動畫以及UI控制顏色變化來呈現應用狀態改變,這會讓你的應用更顯專業感。比如,活動間的淡入淡出使屏幕轉變更為自然,改變被按動的按鍵顏色會突顯正在發生的用戶動作,清晰地呈現出用戶正在做的事情。

Android 3.x及隨后的版本可開啟硬件加速,這會讓動畫運行更為流暢。但是需要進行測試,因為并非應用的所有功能都能夠兼容硬件加速。

技巧4:用圓角效果來軟化UI

Button、PageView等用戶界面控制按鈕在屏幕上都會呈現矩形的像素形狀,但這需要進行處理。在控制界面上,使用圓角效果來軟化用戶界面的外觀,這顯得很像Web的風格,但確實很受用戶喜歡。

技巧5:在3D效果中使用一致性的“光照”

最新版本的Android平臺使用全息樣式和3D圖標等。如果你在應用的控制按鍵中使用投影和其他此類樣式,確保要使用一致性的“光照”。換句話說,要確保陰影在屏幕上的朝向一致。在圖像編輯器中使用相同的數值來創造相同的斜度和紋理。

技巧6:使用高對比度配色方案

當某個家庭成員(游戲邦注:往往是老一輩的人)首次發現可以在郵件中使用帶顏色的字體和背景,于是發送給你一封使用白色背景和檸檬黃色字體的電子郵件,這樣的郵件閱讀起來相當費勁。有些人在設計應用的屏幕時,可能會讓玩家難以閱讀或導航屏幕中的內容。使用適當的高對比度顏色,會讓屏幕更易于查看,緩解眼睛的壓力。要將配色方案作為系統資源的一部分,以此為基礎來開展其他工作。

技巧7:使用大型和易讀的字體

和上述不良配色方案一樣,我們也會收到家庭成員發送來帶有某些古怪字體、難以閱讀的文字。相比其他字體,有些字體確實閱讀起來更為容易。

字體大小也是個重要因素,在保持與其他屏幕功能的平衡性的前提下,盡量將字體制作得夠大。就像在使用傳真機時,使用小于12磅的字體并不合適。

Android 4.0的設計師推出了一種只適用于該平臺的新字體,這種字體在移動設備上的閱讀很容易,它被稱為Roboto。

技巧8:不要過多偏離平臺規范

許多成功的手機應用會使用人們較為熟悉的用戶界面。它們有簡單且主流的用戶界面,其使用的控制方式也是用戶所熟悉的。在用戶界面控制和屏幕設計中,不要表現得過于另類。盡量簡單化,與平臺其他應用的表現保持一致。以平臺作為決定應用表現和行為的線索。

如果你正在制作的UI與眾不同,確保用AB測試等客觀方法來比較新UI和傳統UI,由此來決定新設計方案是否更優化,比如更有效、更易于使用或者看起來更為舒適。

技巧9:遵從UI指導原則

Android程序說明書中有許多可以整合到應用中的UI指導原則。根據應用所使用的Android版本的不同,這些指導原則往往也有所差異。當出現這種情況時,你需要制作多種資產來應對多種指導原則。指導原則涵蓋了圖標、小部件、菜單和活動等部分。

技巧10:測試用戶界面

開發者往往不是優秀的QA或測試者。應用可穩定運行后,面向完全不熟悉應用設計和意圖的用戶開展測試是很有價值的做法。應用設計師往往自認為用戶會覺得他們的應用UI很直觀,情況或許并非如此。只有真正讓用戶來測試應用,你才能夠在發布應用前發現許多意料之外的問題。

附加技巧:雇傭職業美術或圖像設計師

現在,用戶期望看到外觀精美且設計專業的應用。正如你不會衣著隨便地去參加面試,所以你應當投入足夠的資源來潤色應用外觀后再將其發布。在多數情況下,程序員往往不是技術嫻熟的美術人員,所以可以考慮雇傭職業美術人員來完成這項工作,只是要確保你對設計結果有清晰的認識。

當你埋頭進行Android應用開發時,往往很容易遺忘用戶界面設計。在你的應用相對較穩定后,瀏覽這個列表,對應用進行潤色。通常來說,這些任務最好留到開發后期,因為此時的屏幕內容相對較為固定。

轉載于:https://www.cnblogs.com/deve/archive/2012/02/29/2569024.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/379903.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/379903.shtml
英文地址,請注明出處:http://en.pswp.cn/news/379903.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

kotlin中判斷字符串_Kotlin程序查找字符串中字符的頻率

kotlin中判斷字符串Given a string and a character, we have to find the frequency of the character in the string. 給定一個字符串和一個字符,我們必須找到字符串中字符的頻率。 Example: 例: Input:string "IncludeHelp"character to…

OD使用

0x01 功能界面 序號1是匯編代碼對應的地址窗口序號2是匯編對應的十六進制機器碼窗口序號3是反匯編窗口序號4是反匯編代碼對應的注釋信息窗口序號5是寄存器信息窗口序號6是當前執行到的反匯編代碼的信息窗口序號7是數據所在的地址序號8是數據的十六進制編碼信息,序號…

windows mobile 開發總結--菜單

在開發時經常要創建菜單,并且動態顯示和隱藏菜單或者是某個子菜單。以下就是實現的方法: 1。創建并顯示菜單,先在資源里添加菜單,然后如下代碼 SHMENUBARINFO mbi; ZeroMemory(&mbi, sizeof(SHMENUBARINFO)); mbi.cbSizesizeof(SHMENUBAR…

Java——集合的概述

* A:集合的由來* 數組是容器,集合也是容器* 數組的弊端:數組的長度是固定的,當添加的元素超過了數組的長度時,需要對數組重新定義,太麻煩* Java內部給我們提供了集合類,可以存儲任意對象&#x…

排序算法中平均時間復雜度_操作系統中的作業排序(算法,時間復雜度和示例)...

排序算法中平均時間復雜度作業排序 (Job sequencing) Job sequencing is the set of jobs, associated with the job i where deadline di > 0 and profit pi > 0. For any job i the profit is earned if and only if the job is completed by its deadline. To complet…

python---文件處理

0x01 打開一個文件 python中內置了文件對象,通過open()函數就可以制定模式打開指定文件,并創建文件對象。該函數的格式如下: open(file[,moder[,buffering-1]])file:指定要打開或創建的文件名稱,如果該文件不存在當前…

簡易而又靈活的Javascript拖拽框架(四)

一、開篇 似乎拖拽已經被寫爛了,沒得寫的了,可是我這次又來了~ 上一次寫的是跨列拖放,這次我要帶給大家的是跨頁拖放。 可以到這里來看看效果:示例效果 說明:1、如果將方框拖動到頁簽上立刻釋放掉的話&…

Java——集合的基本功能測試

* 1,boolean add<E,e> 添加* 確保此 collection 包含指定的元素&#xff08;可選操作&#xff09;。* 參數&#xff1a;e - 確定此 collection 中是否存在的元素。E - 代表Object類&#xff0c;說明該add可以添加任何對象&#xff0c;任意對象都是Object的子類對象&…

《那些年啊,那些事——一個程序員的奮斗史》——78

招人風波之后&#xff0c;就很少見武總往18樓跑了&#xff0c;大部分時間都是坐在22樓的隔間。而武總對段伏櫪的抱怨&#xff0c;也僅僅只有那次&#xff0c;后來就再也沒有提過。對于段伏櫪而言&#xff0c;還要不要招新人&#xff0c;后續如何去招新人&#xff0c;已經不是自…

python---異常處理結構

python中提供了很多不同形式的異常處理結構&#xff0c;其基本思路都是先嘗試執行代碼&#xff0c;再處理可能發生的錯誤。 try…except… 在python異常處理結構中&#xff0c;try…except…使用最為頻繁&#xff0c;其中try子句中的代碼塊為可能引發異常的語句&#xff0c;e…

用css網站布局之十步實錄 (轉載)

第一步&#xff1a;規劃網站http://www.52css.com/article.asp?id175 第二步&#xff1a;創建html模板及文件目錄等http://www.52css.com/article.asp?id176 第三步&#xff1a;將網站分為五個div 網頁基本布局http://www.52css.com/article.asp?id177 第四步&#xff1a;網…

Java——集合轉數組并對其進行遍歷

* A&#xff1a;集合的遍歷* 其實就是以此獲取集合中的每一個元素* B&#xff1a;案例* 把集合轉成數組&#xff0c;可以實現集合的遍歷* public Object[] toArray() 按適當順序&#xff08;從第一個到最后一個元素&#xff09;返回包含此列表中所有元素的數組。…

魚油賬號記錄程序(續) - 零基礎入門學習Delphi39

魚油賬號記錄程序&#xff08;續&#xff09; 讓編程改變世界 Change the world by program 課件同上一講&#xff0c;這一講主要演示編程操作和修改程序&#xff01; [buy] 獲得所有教學視頻、課件、源代碼等資源打包 [/buy] [Downlink hrefhttp://kuai.xunlei.com/d/LDKX…

python---Socket編程

Sockte是計算機之間進行網絡通信的一套程序接口&#xff0c;相當于在發送端和接收端之間建立一個通信管道。在實際應用中&#xff0c;一些遠程管理軟件和網絡安全軟件大多數依賴于Socket來實現特定功能&#xff0c;由于TCP方式在網絡編程中應用非常頻繁&#xff0c;此處將對TCP…

格式轉換-----PDF格式研究筆記(一)

格式轉換-----PDF格式研究筆記&#xff08;一&#xff09; 現在我的幾個計劃都需要我能夠對PDF格式進行解碼&#xff0c;所以找了一下資料&#xff0c;找到了一個PDF1.3的手冊&#xff0c;特放出下載&#xff0c;如果誰有更高版本的&#xff0c;請給我一份&#xff0c;謝謝。 …

(X)HTML嵌套規則

本文整理于互聯網~ 簡單認識了塊元素和內嵌元素以后&#xff0c;下面就可以羅列 XHTML 標簽的嵌套規則了&#xff1a; 1. 塊元素可以包含內聯元素或某些塊元素&#xff0c;但內聯元素卻不能包含塊元素&#xff0c;它只能包含其它的內聯元素&#xff1a;<div><h1>&…

Java——集合帶All的功能演示

package com.wsq.collection;import java.util.ArrayList; import java.util.Collection; public class Demo4_CollectionAll {public static void main(String[] args) {demo1(); //c1.addAll(c2);將c2整個集合給添加到c1中,即&#xff0c;c2集合中的每…

ASP.NET Web API 處理架構

這篇文章主要是介紹ASP.NET Web API的處理架構&#xff1a;當一個HTTP請求到達直到產生一個請求的過程。ASP.NET Web API 的處理架構圖如下&#xff0c;主要有三層組成&#xff1a;宿主&#xff08;hosting&#xff09;&#xff0c;消息處理管道&#xff08;message handler pi…

python---可執行文件的轉換

pyinstaller是常見的執行文件打包工具。該工具的安裝方式非常簡單&#xff0c;可運行在windows、MacOS X和GNU/Linux操作系統環境中&#xff0c;執行python2和python3。 用pyinstaller打包的執行文件&#xff0c;只能在于執行打包操作的系統類型相同的環境下運行。也就是說&…

Java——集合的遍歷之迭代遍歷

這些是下面的代碼中所涉及到的所有方法&#xff1a;* 迭代概述:* 集合是用來存儲元素&#xff0c;存儲的元素需要查看&#xff0c;那么就需要迭代(遍歷)* 也就是說&#xff0c;迭代就是遍歷* * public interface Iterator<E> 對 collection 進行迭代的迭代器* …