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

礼拜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. sqlalchemy源代码阅读随笔(1)

    今天看的,是url.py模块,这个在create_engine中,起到的最用很大,其本质,就是对访问数据库的url,进行操作管里.我们可以直接访问这个类. 看一个简单的代码: from sqlalch ...

  2. mysql查看每张表的空间使用情况

    use information_schema; /,),'MB') as data ,concat(round(index_length//,),'MB') as indexweight from T ...

  3. centos系统设置局域网静态IP

    ---恢复内容开始--- centos系统设置局域网静态IP 很多时候,我们并不希望漏油器重启之后,自己的服务器动态的获取IP,这样很不利,因为你可能装了mysql,redis,等软件,然后需要远程去 ...

  4. STL心得

    熟悉c++版算法竞赛程序框架 理解变量引用的原理 熟练掌握string和stringstream 熟练掌握c++结构体的定义和使用,包括构造函数和静态成员变量 了解常见的可重载运算符,包括四则运算,赋 ...

  5. 【费用流】BZOJ1061[NOI2008]-志愿者招募

    [题目大意] 一个项目需要n天完成,其中第i天至少需要Ai个人.共有m类人可以招募,其中第i类可以从第Si天做到第Ti天,每人的招募费用为Ci元.求最小招募费用. [思路] byvoid神犇的建图详解 ...

  6. [CF509F]Progress Monitoring

    题目大意: 给定一个树的DFS序$b_1,b_2,\ldots,b_n$($b$为$1\sim n$的一个排列且$b_1=1$).同一个结点的子结点按照结点编号从小到大遍历.问有多少种可能的树的形态? ...

  7. 1.2(Spring MVC学习笔记) Spring MVC核心类及注解

    一.DispatcherServlet DispatcherServlet在程序中充当着前端控制器的作用,使用时只需在web.xml下配置即可. 配置格式如下: <?xml version=&q ...

  8. Eclipse的workspace中放入Ext JS卡死或OOM的解决方案

    Eclipse的workspace中放入Ext JS卡死或OOM的解决方案 原因:是由于Ext JS 的所有的文件js验证 方法一:关于Eclipse解决Ext JS卡死方案: 打开Eclipse的w ...

  9. Problem D: 零起点学算法24——判断奇偶数

    #include<stdio.h> int main() { int a; while(scanf("%d",&a)!=EOF) ==) printf(&quo ...

  10. 最新Mac安装CocoaPods详细教程及各种坑解决办法

    网上有很多教程,但要么内容很老,要么不详细,要么各种坑的情况没写.最近买新电脑了,正好要走一遍这些流程,所以写下次教程. 一.安装RVM及更新Ruby 安装RVM的目的是为了更新Ruby,如果你的Ru ...