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

本文介绍了安卓APP设计的关键要素,包括适应不同分辨率的方法、推荐的字体大小、布局规范、触摸反馈设计原则,以及编码实践和资源文件命名建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录


设计


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签名:

        _____    ___    ___    _____  .__  .__
       /  __ \  / _ \  / _ \  / __  | |__| |__|
      |  (_/  >| (_) || (_) |<  \_| | |  | |  |
       \___  /  \___/  \___/  \___  | |__| |__|
      /_____/                    |__|  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值