Themes


系统提供了三种默认风格:

  • Holo Light
  • Holo Dark
  • Holo Light with dark action bars

如果你的应用想要一个不同的风格,使用其中一个系统的主题作为你的自定义的开始,是一个好主意。

Touch Effdback


使用颜色和光亮来响应Touch事件,增强手势的结果。当用户点击一个你应用中的可执行的部分,提供一个可视的响应。

& States:大部分的UI元素都有内置的touch-feedback,包括指出touch一个元素是否会有任何效果的状态。

& Communication:当你的对象对一个复杂的手势做出反应时,帮助用户明白这个操作将会有什么样的结果。如:在列出最近的应用时,向左右滑动一个卡片,会变暗,就提示用户,这样会把它移除。

& 边界(boundaries):当用户试图滑动超过限制的最高或最低的区域,应该反馈一个可视的小东西。比如,一条小红线之类的。很多的Android UI组件已经有了内置的边界反馈。如果想要自定义,记住添加边界反馈。

Metrics 和 Grids


设备不仅要适应各种物理尺寸,还有各种屏幕密度(DPI),为了简化你为多屏幕设计,把每个设备考虑为一个特定尺寸和密度的桶(bucket)。桶的大小为手持设备(比600Dp小),和平板(比600dp大)。乐观对待你应用的UI,设计时要为不同的size和密度设计layout和图片。

可以访问http://developer.android.com/about/dashboards/index.html#Platform查看占有率

48dp 节奏(Rhythm)


元素的width 和 height 为40dp。48dp差不多对应于9mm。这是很舒服的大小

如果用了48dp,你会发现如下:

  • 你的目标不会比7mm还小,在任何屏幕上
  • 可以顾及全部的信息以及目标元素

& UI元素之间的间隔为8dp最好。

字体(Typography)


ICS引入了一个新的字体族,叫Roboto,专门为UI的需求和高分辨率创建的。

& 默认字体颜色:Android UI 使用以下默认颜色风格:textColorPrimarytextColorSecondary.

& 字体范围(scale):太多的字体设置会导致混乱。Android框架使用以下几种字体大小

  • Micro --> 12sp
  • small --> 14sp
  • medium --> 18sp
  • large --> 22sp

支持字体Scale的Layouts应该在这些设置下测试过。

颜色


自己调着用。注意红色和绿色可能对于色盲者而言分不清。

图标


& Launcher:因为用户会换壁纸,所以要确定你的Launcher图标能很清楚地在任何背景里都能看得清。

在手机设备上的Launcher图标,必需为48×48dp,在Google Play里显示的必需为512×512 pixels。

& Action Bar:这里的图标表示的是在你的应用中,最重要的操作。每个图标最好是用户一看就能知道作用的。

大小:应该为32×32 dp

风格:简单表示意思的,不用太详细,光滑的曲线或明显的形状。

可以用透明度来表示是否可用。

& 小的图标:在应用体里面也会有一些需要图标的地方。

大小:应该为16×16dp

风格:平滑,简单。让用户能明白含义

颜色:如果一个图标是可被操作的,颜色应该跟背景很好地区分开

& 消息栏图标:

大小:24×24dp

风格:简单,直接,与Launcher图标一致

颜色:必须为全白

文字风格


  1. 保持简短:简明,简单,准确。限制在30的个字符内(包括空格),除非很有必要,否则不要使用更多的
  2. 操持简单:假设你在跟一个聪明的,但不懂技术的人交流,使用简单的词语,动词,名词。
  3. 要友好
  4. 把最重要的放在最前:最前面两个单词,应该包含了最重要的内容。
  5. 描述什么是最需要的,其他的不要:不要试着去解释细节不同。
  6. 拒绝重复:最好只出现在一次。

更多相关文章

  1. Android(安卓)8.0 Adaptive Icon特性 for Unity适配教程
  2. Android(安卓)Color 小结
  3. android TextView设置字体颜色
  4. Android7.0添加快捷方式(Shortcut)到手机桌面
  5. Android设置PreferenceCategory背景颜色的方法
  6. android studio Activity标题栏研究
  7. android基础知识复习(一)——对话框风格的Activity、Menu、Activit
  8. Android实现沉浸式(透明)状态栏(Eclipse版)
  9. Android(安卓)SurviceView的触控和轨迹球事件

随机推荐

  1. AngularJS(1.5.8) - 如何直接从获取json对
  2. 鼠标按下时是否可以防止鼠标光标离开页面
  3. AngularJs:在内部调用$ http或$ resource
  4. 角度服务和控制器共同范围
  5. JS小Demo实战之今天外卖点什么?(三)
  6. 使用jquery在textarea中的颜色代码
  7. JSON/Jave不更新innerHTML onClick事件。
  8. 无法使用jquery将活动类添加到当前选定的
  9. C#Razor - 显示注释值,其中循环值等于sele
  10. JavaScript中的事件详解