目录
设计
1. 尺寸和分辨率
目前最新安卓手机的屏幕尺寸都是5.0英寸及以上,我们都知道安卓机的尺寸很多很杂。而且不同的分辨率对应不同的dpi模式。
Android支持多种不同的dpi模式:
- ldpi
- mdpi
- hdpi (480*800)
- xhdpi (720*1280)
- xxhdpi (1080*1920)
- xxxhdpi(4K分辨率)
在目前我们的安卓APP设计项目当中,我们并不会去为每一种分辨率去设计一套UI界面。这是一种追求完美和理想的状态,为了适应多分辨率:
在标准基础(xdpi:1280*720)上开始,然后放大或缩小,以适应到其他尺寸。
从设备的最大尺寸(xxdpi:1920×1080)开始,然后缩小,并适应到所需的最小屏幕尺寸。
2. 字体和大小
安卓4.0之后用的字体是Roboto。中文字体:方正兰亭黑体
在720*1280的基础上的字体设计大小。
文字 | 命名 | 大小 |
---|---|---|
注释最小字体 | annotateTextSize | 12sp |
文本字体 | contentTextSize | 14sp |
文章标题 | titleTextSize | 16sp |
导航标题 | navTextSize | 18sp |
顶栏标题 | topBarTextSize | 22sp |
3. 布局
所有组件都与间隔为 8dp 的基准网格对齐。排版/文字(Type)与间隔为 4dp 的基准网格对齐。在工具条中的图标同样与间隔为 4dp 的基准网格对齐。这些规则适用于移动设备、平板设备以及桌面应用程序。
标题栏
手机横屏(Landscape): 48 dp
手机竖屏(Portrait): 56 dp
平板电脑/电脑桌面(Tablet/Desktop): 64 dp
列表宽度
列表高度
- 24dp
- 56dp
- 48dp
- 72dp
列表间距
- 24dp
- 56dp
- 8dp
- 72dp
4. 触摸与反馈
设计logo图标的时候,最好做成512*512的矢量图。
遵循48dp定律,作为安卓可触摸的UI元件的标准。
一般来说,48dp转化为一个物理尺寸约9毫米。建议的目标大小为7-10毫米的范围,这是一个用户手指能准确并且舒适触摸的区域。
每个UI元素之间的空白通常是8dp。
用户触摸应用中的可操作区域,应当在视觉上有响应,微小的反馈会给用户带来很好地效果:
- 按钮焦点
- 按钮触摸
编码
1. 命名
基本命名
局部变量命名、静态成员变量命名,使用驼峰命名法;例如:
- 单音节词:
people
、count
、company
- 拼接词汇:
payMoney
、textContent
、userName
- 单音节词:
常量命名只能包含字母和_,单词之间用 _ 隔开,字母全部大写;例如:
LOAD_SUCCESS
、TYPE_PLAY
、MODE_DEVELOPE
类名以每个有意义的单词大写开头;例如:
Student
、MyCompany
、ChatDetail
资源文件中的命名: (xml、drawable、mipmap、values等)
activity: activity_模块_功能_逻辑名称;例如:
activity_mod1_intent_detail
、activity_mod2_chat_history
fragment: fragment_模块_功能_逻辑名称;例如:
fragment_mod1_intent_addintent
、fragment_mod2_chat_groupdetail
common: common_公共模块_功能_逻辑名称;例如:
common_titlebar_back
、common_edit_bg
、common_button_selector
2. 结构
个人习惯于根据功能模块分割成多个包,每个包里包含自己的内容,除公共包和工具包和特殊情况之外,互不影响。
工程目录结构:(根据需求增删相关目录)
名称 介绍 common 公共包 db SQLite包 fragment 多个主页面Fragment fragmentX_xxxx 每个主页面包 home 入口类、Application类 user 用户相关 util 工具类 名称 介绍 Constants 常量类 URLConfig 请求url类
每个模块内部结构:
名称 介绍 activity UI adapter 适配器 bean 实体类 fragment 可选
公共部分: (根据具体需求增删相关内容)
名称 介绍 adapter 公共adapter adapter 适配器 basic 基类 bean 公共实体 exception 异常捕获 manager 管理类(更新等) receiver 广播接收等 service 服务 view 自定义view
源码(待完善)
1. 资源类
2. 工具类
Author签名:
_____ ___ ___ _____ .__ .__ / __ \ / _ \ / _ \ / __ | |__| |__| | (_/ >| (_) || (_) |< \_| | | | | | \___ / \___/ \___/ \___ | |__| |__| /_____/ |__|