[Android]我的安卓5.0+设计开发规范(基于Material Design)

目录


设计


1. 尺寸和分辨率

目前最新安卓手机的屏幕尺寸都是5.0英寸及以上,我们都知道安卓机的尺寸很多很杂。而且不同的分辨率对应不同的dpi模式。

Android支持多种不同的dpi模式:

  • ldpi
  • mdpi
  • hdpi (480*800)
  • xhdpi (720*1280)
  • xxhdpi (1080*1920)
  • xxxhdpi(4K分辨率)

在目前我们的安卓APP设计项目当中,我们并不会去为每一种分辨率去设计一套UI界面。这是一种追求完美和理想的状态,为了适应多分辨率:

  1. 在标准基础(xdpi:1280*720)上开始,然后放大或缩小,以适应到其他尺寸。

  2. 从设备的最大尺寸(xxdpi:1920×1080)开始,然后缩小,并适应到所需的最小屏幕尺寸。


2. 字体和大小

安卓4.0之后用的字体是Roboto。中文字体:方正兰亭黑体
在720*1280的基础上的字体设计大小。

文字命名大小
注释最小字体annotateTextSize12sp
文本字体contentTextSize14sp
文章标题titleTextSize16sp
导航标题navTextSize18sp
顶栏标题topBarTextSize22sp

3. 布局

所有组件都与间隔为 8dp 的基准网格对齐。排版/文字(Type)与间隔为 4dp 的基准网格对齐。在工具条中的图标同样与间隔为 4dp 的基准网格对齐。这些规则适用于移动设备、平板设备以及桌面应用程序。

  • 标题栏

    1. 手机横屏(Landscape): 48 dp

    2. 手机竖屏(Portrait): 56 dp

    3. 平板电脑/电脑桌面(Tablet/Desktop): 64 dp

    标题栏

  • 列表宽度

    列表宽度

  • 列表高度

    1. 24dp
    2. 56dp
    3. 48dp
    4. 72dp

    列表高度

  • 列表间距

    1. 24dp
    2. 56dp
    3. 8dp
    4. 72dp

    列表间距


4. 触摸与反馈

设计logo图标的时候,最好做成512*512的矢量图。

遵循48dp定律,作为安卓可触摸的UI元件的标准。

一般来说,48dp转化为一个物理尺寸约9毫米。建议的目标大小为7-10毫米的范围,这是一个用户手指能准确并且舒适触摸的区域。

每个UI元素之间的空白通常是8dp。

用户触摸应用中的可操作区域,应当在视觉上有响应,微小的反馈会给用户带来很好地效果:

  • 按钮焦点

按钮焦点

  • 按钮触摸

按钮触摸

按钮触摸


编码


1. 命名

基本命名

  1. 局部变量命名、静态成员变量命名,使用驼峰命名法;例如:

    • 单音节词:peoplecountcompany
    • 拼接词汇:payMoneytextContentuserName
  2. 常量命名只能包含字母和_,单词之间用 _ 隔开,字母全部大写;例如:
    LOAD_SUCCESSTYPE_PLAYMODE_DEVELOPE

  3. 类名以每个有意义的单词大写开头;例如:
    StudentMyCompanyChatDetail


资源文件中的命名: (xml、drawable、mipmap、values等)

  • activity: activity_模块_功能_逻辑名称;例如:
    activity_mod1_intent_detailactivity_mod2_chat_history

  • fragment: fragment_模块_功能_逻辑名称;例如:
    fragment_mod1_intent_addintentfragment_mod2_chat_groupdetail

  • common: common_公共模块_功能_逻辑名称;例如:
    common_titlebar_backcommon_edit_bgcommon_button_selector


2. 结构

个人习惯于根据功能模块分割成多个包,每个包里包含自己的内容,除公共包和工具包和特殊情况之外,互不影响。

  • 工程目录结构:(根据需求增删相关目录)

    目录结构

    名称介绍
    common公共包
    dbSQLite包
    fragment多个主页面Fragment
    fragmentX_xxxx每个主页面包
    home入口类、Application类
    user用户相关
    util工具类
    名称介绍
    Constants常量类
    URLConfig请求url类

  • 每个模块内部结构:

    模块内部结构

    名称介绍
    activityUI
    adapter适配器
    bean实体类
    fragment可选

  • 公共部分: (根据具体需求增删相关内容)

    公共部分

    名称介绍
    adapter公共adapter
    adapter适配器
    basic基类
    bean公共实体
    exception异常捕获
    manager管理类(更新等)
    receiver广播接收等
    service服务
    view自定义view

源码(待完善)


1. 资源类

2. 工具类


Author签名:

        _____    ___    ___    _____  .__  .__
       /  __ \  / _ \  / _ \  / __  | |__| |__|
      |  (_/  >| (_) || (_) |<  \_| | |  | |  |
       \___  /  \___/  \___/  \___  | |__| |__|
      /_____/                    |__|  
Android UI设计规范文档 1 设计原则 2 风格 2.1 设备和显示 Android 驱动了数百万的手机平板和其它设备,兼容了各种屏幕宽度和比例。利用 Android 灵活的布局系统,您可以创造出从平板手机都看起来很优雅的应用。 灵活 对您的布局进行放大、缩小或者裁减以适应不同的高度和宽度。 优化布局 在较大的设备上,善于利用大屏幕的优势。设计混合的视图以显示更多的内容,提供更简便的导航。 适用于各种设备 为不同的像素密度 (DPI) 提供不同资源 (比如drawable) ,使您的应用在任何设备上都看起来很棒。 策略 那么您应当如何开始为多种屏幕设计呢?一种方法是以一个基本的标准 (中等尺寸,MDPI) 开始,之后将其缩放到不同的尺寸。另一种方法是从最大的屏幕尺寸开始,之后为小屏幕去掉一些 UI 元素。 2.2 触摸响应 使用颜色和高亮效果来响应用户的触摸,突出显示手势的效果以及表明哪些操作是可用的。 任何时候,每当用户触摸您应用中的可操作区域,都应当给予视觉上的响应。这样可以使得用户了解他触摸了啥,并且表明您的应用一直在工作。 按钮的状态 大多数的 Android UI 元素都有内置的触摸反馈效果,包括表明元素是否可以操作的视觉效果。 交流 当您的对象需要对复杂的手势做出响应时,应当帮助用户了解该操作的结果将会是什么。例如,当您在 Android 系统“最近的应用”界面左右滑动一个缩略图的时候,它会开始变淡。这样做就使得用户明白滑动可以移除这条记录。 边界 当用户试图滑出可滑动区域的范围时,应当在边界提供视觉的反馈。例如,如果用户试图从主屏幕的第一屏向左滑动时,屏幕就会向右倾斜表明不能再往这边移动了。许多 Android 的可滑动 UI 类 (例如列表 lists 和网格列表 grid lists) 都已经内置了边界反馈。如果您需要自定义界面时,记住要提供边界反馈哦。 2.3 度量单位和网格 总的来说,可触摸控件都是以 48dp 为单位的。 为什么是 48dp? 一般情况下,48dp 在设备上的物理大小是 9mm (会有一些浮动)。这是触摸控件的推荐大小 (范围7-10mm) ,用户用手指触摸起来比较容易、且准确。 如果您设计的 UI 元素都至少有 48dp 的高度和宽度,那么可以保证:  您设计的元素在任何屏幕上显示时,都不会小于推荐的最低值 7mm。  你可以在信息密度和界面的可操控性之间得到较好的平衡。 注意留白 界面元素之间的留白应当是 8dp。 一个例子 - Examples
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值