转载请注明出处:王亟亟的大牛之路

礼拜4一天由于事假没有去单位然后礼拜3由于生日也没写文章,今天一早上班就补一篇MD的内容。这一篇是关于颇有争议的Bottom navigation相关内容(主要是翻译和理解,代码部分还没来得及实验)


众所周知Android之前一直提倡者”Bar”一系列的东西尽量是在“上面”,而苹果的设计一般在以下

像这样

而苹果的一般在以下像这样(拿我的微信做样例,圈掉的部分无视)

而如今Material Design设计规范中增加底部导航栏也就是我们今天文章的主角Bottom navigation

来看看官方是怎么形容他的(接下来的翻译全是 我人工翻译。如有不准确可请原谅。临时还没找到字幕组或者什么机构去解释这部分)

Bottom navigation bars make it easy to explore and switch between top-level views in a single tap.

底部导航栏让我们能够更轻松的在几个顶层的视图间进行选择和查看

这是一个给与我们选择和切换试图组用的。

(就像上面微信,联系人。发现。我这系列做功能卡片切换。TMD怎么拿微信做样例了)


知道了这是一个干什么用的东西之后我们来看看他的一些要点

Three to five top-level destinations of similar importance (Alternative: A persistent navigation drawer accessible from anywhere in the app)

比較推崇3-5个页面的切换,假设过多就不推荐使用Bottom navigation

那假设过少,仅仅有2个这样的也是不太推荐的。

推荐

不推荐

不推荐

注意点:

在与标签相结合的底部导航时要小心。由于在用户使用应用程序时可能会引起混淆。


Style

Because bottom navigation actions are presented as icons, they should be used for content that can be suitably communicated with icons.

由于底部的导航行为是作为图标的,所以它们应该被用于内容,能够与图标进行适当的沟通,至少要让用户简单的理解这个图标代表了什么。

颜色不要五颜六色的,仅仅要让用户清楚的理解他选择的是哪个即可了

推荐

不推荐

If the bottom navigation bar is colored, make the icon and text label of the current action black or white.

假设Bottom navigation本身是彩色的,那么图标和文字尽量用黑色或者白色

推荐

不推荐

Text labels provide short, meaningfully definitions to bottom navigation icons. Avoid long text labels as these labels do not truncate or wrap.

文字部分不要太长尽量精简,表达意思即可

推荐

不推荐

那假设一定要非常长的描写叙述文字,请把多余部分隐藏掉,不要换行或者缩小字体大小

推荐

不推荐

注意点:

标签真的多了。就别贴字了。假设仅仅有三个就请字+图标都放上去

被选中的一定要高亮。高亮,高亮重要的事情说三遍


Behavior

Tapping on a bottom navigation icon takes you directly to the associated view, or refreshes the currently active view.

上拉列表时。隐藏Bottom navigation,下拉列表时,显示Bottom navigation

这个和我之前写过的一个解放用户操作空间差点儿相同概念(我好66 哈哈哈哈,传送门:http://blog.csdn.net/ddwhan0123/article/details/50352662

像这样

推荐点击切换,而不是相似于viewpager形式的滑动切换

推荐

不推荐


Specs

和其它控件一样也有他的尺寸规格。这边就不详解了,看看即可。

在不同的屏幕大小下也有着不同的规格体现

在平板里,又是这样

最后贴一下视图厚度分布

原文地址:https://www.google.com/design/spec/components/bottom-navigation.html#bottom-navigation-specs

2016.3.25 补上Demo:

https://github.com/aurelhubert/ahbottomnavigation

Material Design学习之 Bottom navigation的更多相关文章

  1. Material Design学习之 Button(具体分析,传说中的水滴动画)

    转载请注明出处:王亟亟的大牛之路 上一篇大致介绍了Material Design的一些基本概念传送门:http://blog.csdn.net/ddwhan0123/article/details/5 ...

  2. Material Design学习笔记

    Wiki->移动开发->Android->Material Design-原质化设计 (友情链接:http://wiki.jikexueyuan.com/project/materi ...

  3. Material Design学习

    前言: 最为一个用习惯了bootstrap的前端小菜,今天偶然听闻material design 这个从未听闻的前端框架,带着好奇开始了新的尝试,并将bootstrap跟material design ...

  4. Android Material Design 学习笔记 - Matrial Theme

    google在2014年 I/O大会上推出了一种新的设计设计语言—Material design,这种设计语言语言旨在为手机.平板电脑.台式机和“其他平台”提供更一致.更广泛的“外观和感觉”(附上官方 ...

  5. Material Design学习之 ProgreesBar

    转载奇怪注明出处:王亟亟的大牛之路 继续我们Material Design的内容,这一篇讲的是进度条,上一篇是Switch地址例如以下:http://blog.csdn.net/ddwhan0123/ ...

  6. Material Design学习之 Camera

    转载请注明出处:王亟亟的大牛之路 年后第一篇,自从来了某司产量骤减,这里批评下自己,这一篇的素材来源于老牌Material Design控件写手afollestad的 https://github.c ...

  7. Material Design学习-----FloatingActionButton

    FloatingActionButton是悬浮操作按钮,它继承自imageview,所以说它具备有imageview所有的方法和属性.与其他按钮不同的是,FloatingActionButton默认就 ...

  8. Material Design学习-----TextInputLayout

    TextInputLayout是为EditText提供了一种新的实现和交互方式.在传统的EditText中存在一个hint属性,是说在editext中没有内容时,默认的提示信息.当想edittext中 ...

  9. Material Design学习-----CollapsingToolbarLayout

    博客引用(http://www.open-open.com/lib/view/open1438265746378.html) CollapsingToolbarLayout为我们提供了一个很方便的顶部 ...

随机推荐

  1. python memcache 常用操作

    add() 添加一条键值对,如果key已存在,重复执行add操作会报异常 mc.add('name2', 'lisi') print(mc.get('name2')) # lisi replace 修 ...

  2. django的setting文件更换了位置需要进行的更改

    1. Pycharm --> 工具栏 --> Edit Configurations --> 修改 settings 文件 2. 项目文件夹下的wsgi.py 3. 项目文件夹下的m ...

  3. jQuery 入门笔记1

    jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多). 1:jQuery使用 <script type="te ...

  4. DELPHI 参数前缀的使用

    传值参数传值参数可在过程内部修改,但过程返回时该修改不会反映出来.不加任何前缀,就表示该参数为传值参数.Procedure Foo( I : Integer );I 的值被传递到Foo 过程.当Foo ...

  5. [图解算法] 归并排序MergeSort——<递归与分治策略>

    #include"iostream.h" void Merge(int c[],int d[],int l,int m,int r){ ,k=l; while((i<=m)& ...

  6. 安卓长按交互onCreateContextMenu的简单 用法

    1.可在activity和fragment中使用. 2.使用方法 (1)注册 registerForContextMenu(btn);//btn是要实现交互的控件 (2)重写onCreateConte ...

  7. HSV与RGB的相互转换的公式

    H参数表示色彩信息,即所处的光谱颜色的位置.该参数用一角度量来表示,红.绿.蓝分别相隔120度.互补色分别相差180度.纯度S为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比 ...

  8. 【C++】类的两种实例化方法

    直接上代码: #include<stdio.h> #include<string> #include<iostream> using namespace std; ...

  9. 【差分约束系统】【spfa】UVALive - 4885 - Task

    差分约束系统讲解看这里:http://blog.csdn.net/xuezhongfenfei/article/details/8685313 模板题,不多说.要注意的一点是!!!对于带有within ...

  10. python3开发进阶-Django框架中的ORM的常用(增,删,改,查)操作

    阅读目录 如何在Django终端打印SQL语句 如何在Python脚本中调用Django环境 操作方法 单表查询之神奇的下划线 ForeignKey操作 ManyToManyField 聚合查询和分组 ...