目录

[隐藏]
  • 1纯粹的 Android - Pure Android
    • 1.1不要模仿其它平台的 UI 元素
    • 1.2不要使用专为其它平台设计的图标
    • 1.3不要使用底部的标签栏
    • 1.4不要编码链接到其他应用程序
    • 1.5不要在操作栏中使用带有标题的返回按钮
    • 1.6不要在列表中使用向右箭头
  • 2设备无关性

纯粹的 Android - Pure Android

许多开发者会在多个平台上发布应用。如果您打算为 Android 开发应用,请记住在不同的平台需要遵守不同的要求和惯例。在某个平台上开起来不错的设计,也许在另一个平台上就不合适。“一次设计,到处运行”的想法可能在一开始能节省一些时间,但是和平台不一致的体验最终可能会疏远用户。考虑按照下面的指导进行设计,避免常见的错误和缺陷。

不要模仿其它平台的 UI 元素

不同的平台都会提供别具一格的、精心设计的、主题化的 UI 元素。例如在一些平台上鼓励使用圆角按钮,另一些则鼓励使用渐变标题栏。许多情况下,虽然元素的功能是一样的,但是设计方法截然不同。

当您为 Android 设计应用时,不要使用其它平台的 UI 元素,也不要模仿其它平台元素的行为。参考 Building Blocks 一章了解 Android 主要的 UI 元素。同时,观察 Android 系统应用,了解这些元素是如何使用的。如果您要自定义 UI 元素,请按照您品牌的统一设计,不要照搬其它平台的设计。

Android、iOS 和 Windows Phone 7 的 UI 元素样例。

不要使用专为其它平台设计的图标

不同的平台都会提供常用功能的图标集,例如分享、新建和删除。

如果您正在将应用移植到 Android 平台,请不要使用专为其它平台设计的图标。

您可以在 Android SDK 中找到各种用途的图标。

Android、iOS 和 Windows Phone 7 的图标样例。


不要使用底部的标签栏

其它平台使用底部标签栏在应用中切换视图。Android 标签应当放在顶部的操作栏中。不过您可以在底部放置副操作栏。

您应当按照该指导设计应用,提供统一的平台应用体验,区分操作栏和视图切换。

请参考 操作栏 一节,了解如何合理的使用操作栏切换视图。


Android 拨号应用的操作栏标签 vs. iOS 的底部标签栏。


不要编码链接到其他应用程序

某些情况下应用程序会需要借鉴另一个应用程序的功能,例如想分享应用程序通过社交网络或信息创建的内容,或者查看浏览器网络链接的内容。不要使用编码链接到特定应用程序,而应该使用安卓意图API来启动活动选配器,它列出了所有设置处理特定请求的应用程序。这就让用户用首选应用程序来完成任务。尤其对于共享来说,考虑使用Share Action Provider 来更快访问最近共享的目标。

 

不要在操作栏中使用带有标题的返回按钮

其它平台使用带有标题的返回按钮,使用户可以返回应用的上一层。Android 则使用操作栏的应用图标返回上一层,同时使用导航栏的返回按钮返回前一个屏幕。更多信息,请参考 导航 一节。

按照该指导设计应用,提供统一的导航体验。

Android 操作栏中的向上图标 vs. iOS 的返回按钮。

不要在列表中使用向右箭头

在其它平台上通常在列表中使用向右箭头提示用户触摸后有更多的内容。

Android 不这么做。请不要使用向右的箭头,不要让用户猜测它的用处。

Android 设置列表中没有向右箭头 vs. iOS 设置。

设备无关性

记住您的应用会运行在各种不同屏幕尺寸的设备上。通过“面板”使您的应用在各种设备上始终能够提供平衡且美观的布局。

更多信息,请参考设备和显示 - Devices and Displays一节和多视图布局 - Multi-pane Layouts。

原文:http://developer.android.com/design/patterns/pure-android.html

更多相关文章

  1. 浅谈Android五大布局——LinearLayout、FrameLayout、AbsoulteLa
  2. android 使用mediaplayer播放网络音乐
  3. 真机上运行monkeyrunner python脚本踩坑系列一
  4. 浅谈Android五大布局——LinearLayout、FrameLayout、AbsoulteLa
  5. Android(安卓)定时任务过程详解
  6. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框
  7. Android(安卓)Studio如何设置自动import价包
  8. 初识ngCore
  9. StatusBar (状态栏)的架构(Android(安卓)2.3)

随机推荐

  1. k8s ingress配置转发tcp流量
  2. 好用到飞起的12个jupyter lab插件
  3. Python安装第三方库太慢?配置好这个速度飞
  4. Jupyter Notebook最常用的五大配置技巧
  5. 对SVG动画进行异步懒光栅化处理 [每日前
  6. 基于geopandas的空间数据分析——空间计
  7. 怎样在服务器上启用 HTTPS [每日前端夜话
  8. matplotlib绘图的核心原理讲解
  9. matplotlib绘图技巧详解(一)
  10. 异步函数中的异常处理及测试方法 [每日前