android recycleview長按多選_UI設計中Android和IOS設計差異總結

v2-e45fd6549917734555f070546e7aa4aa_1440w.jpg?source=172ae18b

  由于設計師、產品經理使用的移動設備大部分是iPhone,所以在做設計時,容易忽略Android和iOS的差異,按照iOS的規范進行設計,兩端只做一套。

  只做一套的會存在兩個問題:

  1、安卓用戶的使用習慣不太適應iOS的設計,導致使用時遇到阻礙,任務流程失敗率變高。

  2、如果設計師或者產品經理有的異常場景狀態沒有想到,導致安卓開發沒有組件調用,為了省事就直接調用安卓自帶組件,導致整個產品在視覺風格上面既有產品風格的組件又有安卓系統的組件,統一性差。

  所以設計師在設計過程中,針對兩端的差異性,可以單獨將具有差異性的Android部分做出來,保持兩端的差異性。今天我就總結了一下android和iOS差異性。

  文章大綱如下所示:

  1、視覺風格和理念

  2、支付規則

  3、推送規則

  4、文件選取規則

  5、手勢區別

  6、組件風格

  7、組件用法

  1、視覺風格和理念iOS通過使用留白、簡化UI、使用無邊框按鈕等方式使得呈現的功能更加清晰。

  以功能驅動設計

  留白可以使重要的內容和功能更加醒目、更易理解。使一個應用看起來更加聚焦和高效,如下圖1所示。

  讓顏色簡化UI,使用一個主題色。比如備忘錄中用了黃色,高亮了重要區塊的信息并巧妙地用樣式暗示可交互性,如下圖2所示。

  使用無邊框的按鈕,通過文案、顏色以及操作指引標題來表明該無邊框按鈕的可交互性。如下圖3所示。

v2-5959d59283d45a4dafb6d8e1b193541a_b.jpg

  Material 通過構建系統化的動效和空間合理化利用,并將兩個理念合二為一,構成了實體隱喻。

  在基本元素的處理上,借鑒了傳統的印刷設計:排版、網格、空間、比例、配色、圖像等,使用這些基礎的平面設計規范。

  在這些設計基礎上,構建出視覺層級、視覺意義以及視覺聚焦。

v2-da1992b43a64cc880f465841ee6f3046_b.jpg

  2、支付規則

  當App含有虛擬商品,那么用戶購買方式也不一樣。

  對于iOS用戶來說,支付渠道必須走蘋果支付平臺,并抽取30%作為服務費。而android版不用走平臺,使用支付寶、微信支付等第三方支付平臺即可。

  如下圖所示,網易云音樂android版,支付時可以選擇支付寶、微信、京東等支付方式。

v2-22409f251aecf5ebb616e565d0cf43d2_b.jpg

  而iOS端則只能走蘋果官方平臺(App Store)。對于公司來說,抽成30%意味著收入下降,但是這種走平臺支付也有一個好處,可以連續訂閱,自動續期扣錢。

  3、推送規則

  iOS系統的消息推送必須依靠蘋果的APNS(Apple Push Notification Service)服務器來完成,信息與app之間的交互是通過蘋果的服務器完成的。

  Android的消息推送相比之下更加開源,在不選擇使用GCM的情況下,app的消息推送就需要在自己或者是第三方服務器與設備之間建立一條長連接,通過長連接進行推送。

v2-7edddbfc77194814b2202e965fcc26ec_b.jpg

  這意味著iOS端,即使app的后臺殺死,依舊可以接收到推送。而android端則需要保持后臺在線才能收到推送消息。

  4、文件選取規則

  iOS系統每個app之間沒有文件夾概念,導致無法找到對應app的文件夾。

  如果iOS版app想要發送文件時,則無法選擇對應的文件夾里面的文件。但是因為有了iCloud的存在,可以通過iCloud選擇文件。

  如下圖所示,微信如果想發送文件到微信好友時,點擊文件,進入iCloud選擇文件發送即可。

v2-6af4e9ada058a71f520bb219d6b7e7c1_b.jpg

  而安卓版則可以調取文件夾,選擇對應的文件發送。如下圖所示,qq給好友發送文件時,直接進入手機的文件夾中找到對應的文件

  5、手勢區別

  android和iOS的手勢區別比較大,對于隱藏的操作,安卓長按較多,iOS左右滑動較多。

  如下圖所示,安卓針對列表更多操作時,采用長按手勢,長按出現菜單。

  而iOS左右滑動出現隱藏的操作。

v2-0b6535f410bf1a8e9fef895afd43d9c5_b.jpg

  6、組件風格的差異性

  iOS和android整體上視覺差異很明顯。

  android組件整體呈現通過投影產生層級區分,如下圖所示。

v2-1ef56d826a4f4ffa96b0a1dc3bb5810f_b.jpg

  iOS則通過簡潔的視覺層級區分,UI設計中Android和IOS設計差異總結如下圖的組件樣式。單純的分割線區分層級關系。

v2-f12416023e6c47ff57afc8e678c78b5e_b.jpg

  7、組件用法

  7.1搜索欄

  android常使用搜索圖標,用戶點擊圖標進入搜索欄界面。

  iOS直接以輸入框的形式展示,用戶點擊激活輸入框,從視覺的角度上看,iOS的搜索欄視覺更強化,更容易引導用戶搜索。

v2-c52535d8e4809373dbc92f363a5336ad_b.jpg

  7.2警示對話框

  android對話框文案左對齊,按鈕文案右對齊。

  iOS對話框文案居中對對齊,按鈕也都居中對齊。

v2-70ae2395f34b3b6263cb93ff12a295d0_b.jpg

  7.3卡片

  android針對于提示語,通常放在卡片里面,而iOS放在卡片外面。

v2-42c82105529903b54ced9e10b401c05f_b.jpg

  7.4toast

  android的tost一般在界面底部,文案左對齊(非居中對齊)。安卓除了toast還有snackbar 。

  iOS一般在界面居中位置,為了強化反饋狀態,一般會有圖標搭配對應的文案。

v2-b1f2738e7c609d5ec1ebb16122000bcc_b.jpg

  7.5導航欄

  Android版的返回icon,通常用左箭頭(中間有一杠)。同時導航欄的標題位于左邊箭頭之后,標題為當前界面的標題。

  iOS版的返回箭頭(中間沒有一杠),返回箭頭之后為上一級界面的標題。導航欄中間的標題為當前界面的標題。

v2-b9f47400e5cdc2404ae8b6f10bef94b6_b.jpg

  7.6發送按鈕

  Android版微信信息發送的按鈕放在了工具欄上,ios版微信的信息發送按鈕內嵌在鍵盤上。

  下圖為android版發送流程。

v2-009bc88fbe37c007ade45974b839de79_b.jpg

  下圖為iOS版發送流程:

v2-5e3742b69cb8a86faaac1b3114fa1312_b.jpg

  7.7更多操作

  針對于更多操作時,android長按通常出現菜單,而iOS長按通常出現底部操作列表

v2-890ee62bb26214277de72805941af6e6_b.jpg

  總結:

  以上是針對iOS和android端部分設計的差異性總結。如果需要做兩套設計,那么應該如何設計呢?可以先做一套iOS的,然后針對android端的,組件涉及到不同的地方進行全局替換。例如長按操作,android使用菜單,iOS使用底部操作列表。對話框、底部操作列表和toast等組件進行全局替換即可。因此,您現在已經了解了與UI設計師的工作相關的主要技能。如果您想了解更多信息,請給我點個關注,我之后還會發包含有關在該領域工作的更多相關文章。

越努力越幸運:UI設計色彩趨勢總結?zhuanlan.zhihu.com
v2-22dac476f494f4944f3fc08762f73e03_180x120.jpg
越努力越幸運:UI設計中的篩選控件指南?zhuanlan.zhihu.com
v2-976f8e41b4e49f80b4cc2baffd0511ff_180x120.jpg
越努力越幸運:UI設計中踩過的坑?zhuanlan.zhihu.com
v2-2d3242d8629c3f95d9a449ad615cbe56_180x120.jpg
越努力越幸運:平面設計中的字體設計新花樣?zhuanlan.zhihu.com
v2-f5fab236bc799708e0a33fd400eb2dad_180x120.jpg
越努力越幸運:平面設計中的國風海報設計?zhuanlan.zhihu.com
v2-3cafb5b4fa8e8b4e0924bff1a9b4ceb8_120x160.jpg

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

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

相關文章

Kotlin程序用于打印JVM版本的Kotlin(打印Java屬性)

Here, we will create a Kotlin program to print Kotlin, JVM version (printing Java properties). As Kotlin can be seen as an upgrade of Java, so we will get all versions of java (JVM) using Kotlin also. 在這里,我們將創建一個Kotlin程序以打印JVM版本…

自定義動畫屬性java_創建酷炫動畫效果的10個JavaScript庫

原標題:創建酷炫動畫效果的10個JavaScript庫1) Dynamics.jsDynamics.js是設計基于物理規律的動畫的重要Java庫。它可以賦予生命給所有包含CSS 和SVG屬性的DOM(文本對象模型)元素,換句話說,Dynamics.js適用于所有Java對象以及一系列其它的元素…

php xlsx里插入圖片_常見的 PHP 面試題和答案分享

如何直接將輸出顯示給瀏覽器&#xff1f;將輸出直接顯示給瀏覽器&#xff0c;我們必須使用特殊標記 <&#xff1f;and&#xff1f;>。PHP 是否支持多重繼承&#xff1f;PHP 只支持單繼承。PHP 的類使用關鍵字 extends 繼承另一個類獲取圖片屬性&#xff08;size, width, …

java調用構造函數中某一個值_Java如何在枚舉的構造函數中調用另一個枚舉值

Java中的枚舉(enum)是一種存儲一組常量值的數據類型。您可以使用枚舉來存儲固定值&#xff0c;例如一周中的天&#xff0c;一年中的月等。您可以使用關鍵字 enum定義枚舉&#xff0c;后跟枚舉的名稱為-enum Days {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATUR…

python 示例_Python日歷類| yeardatescalendar()方法與示例

python 示例Python Calendar.yeardatescalendar()方法 (Python Calendar.yeardatescalendar() Method) Calendar.yeardatescalendar() method is an inbuilt method of the Calendar class of calendar module in Python. It uses an instance of this class and returns a lis…

js:插入節點appendChild insertBefore使用方法

首先 從定義來理解 這兩個方法&#xff1a; appendChild() 方法&#xff1a;可向節點的子節點列表的末尾添加新的子節點。語法&#xff1a;appendChild(newchild) insertBefore() 方法&#xff1a;可在已有的子節點前插入一個新的子節點。語法 &#xff1a;insertBefore(newchi…

pandas concat_pandas-數據合并-concat(最全參數解釋,含代碼和實例)

pandas中的concat的功能&#xff1a;假設你現在需要將多個數據合并&#xff0c;前提是&#xff1a;這幾個文件列名都一致&#xff0c;也就是說這幾個文件格式完全一樣&#xff0c;只是數據不太一樣&#xff0c;類似于合并多個文件這種&#xff0c;實際數據分析中也會遇到這種情…

java中的de是什么_【轉】java中main函數解析

源地址&#xff1a;http://www.cnblogs.com/xwdreamer/archive/2012/04/09/2438845.html從寫java至今&#xff0c;寫的最多的可能就是主函數public static void main(String[] args) {}但是以前一直都沒有問自己&#xff0c;為什么要這么寫&#xff0c;因為在c語言中就沒有這樣…

JAVA多線程(一)線程安全問題產生的原因

JAVA線程內存與主存間映射示意圖Java內存模型中規定了所有的變量都存儲在主內存中&#xff0c;每條線程還有自己的工作內存&#xff0c;線程的工作內存中保存了該線程使用的變量到主內存副本拷貝&#xff0c;線程對變量的所有操作&#xff08;讀取、賦值&#xff09;都必須在工…

兩頂點的路徑長度為k_計算兩個頂點之間的所有可能路徑

兩頂點的路徑長度為kWhat to Learn? 學什么&#xff1f; How to count all possible paths between two vertices? 如何計算兩個頂點之間的所有可能路徑&#xff1f; In the graph there are many alternative paths from vertex 0 to vertex 4 在圖中&#xff0c;有許多從…

php debug_print_backtrace,php中debug_backtrace、debug_print_backtrace和匿名函數用法實例

本文實例講述了php中debug_backtrace、debug_print_backtrace和匿名函數用法。分享給大家供大家參考。具體分析如下&#xff1a;debug_print_backtrace() 是一個很低調的函數,很少有人注意過它.不過當我們對著一個對象調用另一個對象再調用其它的對象和文件中的一個函數出錯時,…

covariance matrix r語言_時間序列分析|ARIMAX模型分步驟詳解和R中實踐

這是關于時間序列的第N篇文章&#xff0c;本文將介紹ARIMAX模型&#xff0c;簡單來說就是在ARIMA的基礎上增加一個外生變量。ARIMAX和ARIMA相比在理論上沒有太多新的內容&#xff0c;所以本文直接介紹在R里怎么一步一步跑ARIMAX。在閱讀這篇文章前&#xff0c;需要對ARIMA有一定…

linux系統編程之文件與I/O(六):fcntl 函數與文件鎖

2013-05-14 11:26 8290人閱讀 評論(2) 收藏 舉報分類&#xff1a;linux系統編程&#xff08;19&#xff09; 版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主允許不得轉載。 一、fcntl函數 功能&#xff1a;操縱文件描述符&#xff0c;改變已打開的文件的屬性 int…

python 使用異常函數_您如何測試Python函數引發異常?

python 使用異常函數This article elaborates on how to implement a test case for a function that raises an exception. 本文詳細介紹了如何為引發異常的函數實現測試用例 。 Consider the following function: 考慮以下功能&#xff1a; import redef check_email_forma…

php 遠程圖片合拼,PHP實現將幾張照片拼接到一起的合成圖片功能【便于整體打印輸出】...

本文實例講述了PHP實現將幾張照片拼接到一起的合成圖片功能。共享給大家供大家參考&#xff0c;詳細如下&#xff1a;/*** 作品合成程序* 針對單面&#xff0c;封面不做特殊處理*/$src_path $argv[1]; // php該文件&#xff0c;第一個參數是文件夾名(作品集)&#xff0c;可相對…

bandizip最后一個無廣告版本_如果非要選擇一款壓縮軟件的話——Bandizip

全世界只有不到0.00~1 % 的人關注了我們得到你的關注是小幫的幸運壓縮解壓軟件是電腦一個必備軟甲&#xff0c;前面的文章介紹了一款開源小巧無廣告的壓縮解壓軟件windows工具軟件選擇之壓縮軟件——7-Zip&#xff0c;如果有人用不慣的話可以試試今天的這款。Bandizip 是一款來…

[MVC學習筆記]1.項目結構搭建及單個類在各個層次中的實現

新人剛開始學習ASP.NET MVC&#xff0c;若有不足之處希望能得到您的指點&#xff0c;不勝感激&#xff01; 先來一張項目的層級結構圖: Model&#xff1a;模型層&#xff0c;主要是各種類型、枚舉以及ORM框架&#xff0c;框架完成數據庫和實體類的映射。項目中選用了微軟的開源…

日期getUTCSeconds()方法以及JavaScript中的示例

JavaScript日期getUTCSeconds()方法 (JavaScript Date getUTCSeconds() method) getUTCSeconds() method is a Dates class method and it is used to get seconds from the current time according to the UTC (Universal time coordinated). getUTCSeconds()方法是Date的類方…

dedecms 在模板里引入php文件夾,dedecms如何添加并引入php文件

前言&#xff1a;有些時候我們需要創建一些單獨的PHP文件&#xff0c;但是隨便放入的PHP文件是不能夠編譯織夢 dedecms的標簽的&#xff0c;所以我們需要引入織夢標簽的編譯引擎方案。例如&#xff0c;我們在根目錄創建 example.php&#xff0c;代碼如下&#xff1a;<?php …