侧边导航栏也就是大家熟知的SliddingMenu,英文也叫Fly-In App Menu、Side Navigation等。当然谷歌现在已经推出类似这个效果的组件--Navigation Drawer

  • Side navigation
  • Fly-in app menu
  • Slide out navigation
  • Sliding navigation bar
  • Slide menu
  • ...

这种效果始于Spotify,随后不久Evernote和谷歌+也开始使用。它现在已经被更多的应用采用,国外的如YouTube,Facebook,Dribbble上等等;国内人人,酷狗等等。在github网站上,已经有很多开源组件实现了这种效果:

接下来再介绍另外一个开源组件:ActionBarSherlock。这个ActionBarSherlock也是大有来头的,可以去研究研究,绝对是不错的东西来的。在设计导航的时候,这个可以用得上,很不错的说。因为SlidingMenu、SideNavigation的使用都要依赖这个组件,很多朋友应该也知道。

对于SlidingMenu这个组件,我在很多论坛都看有人发帖子介绍过,所以大家一个不陌生了。以上提供这么多的组件,那哪一个是你需要的呢,我觉得应该去逐一下载运行看看效果,通过比较权衡最后再决定去使用哪个或者自己参考实现。推荐大家都看看,然后研究一下实现的原理,这对于提高开发水平有很大的帮助。

其实,我最关注的还是实现这个效果的思路和步骤。之前看过很多这方面的博客,看多很多朋友的实现,有的继承HorizontalScrollView,有的继承ViewGroup,总体来说还是继承ViewGroup比较正规一点,因为官方的Navigation Drawer就是这么做的。国外的工程师Cyril Mottier在他的网站里面,发表过三篇文章,讲的就是这个方面的内容,比较深刻:

总结:这个组件已不是什么新鲜事了,通过开源组件可以很容易的集成到自己的应用里面,不过对于想学习的朋友还是一个不错的案例。

Android 新兴的UI模式——侧边导航栏【转】的更多相关文章

  1. [置顶] bootstrap自定义样式-bootstrap侧边导航栏的实现

    前言 bootstrap自带的响应式导航栏是向下滑动的,有时满足不了个性化的需求,需要做一个类似于android drawerLayout 侧滑的菜单,这就是我要实现的bootstrap自定义侧滑菜单 ...

  2. 【机器学习实践】Jupyter Notebook安装 侧边导航栏功能 操作及其他常用扩展功能介绍

    安装过程:  1. 首先我们引入jupyter_contrib_nbextension这个第三方库. 2. 在Anaconda Promot中输入命令: pip install jupyter_con ...

  3. 【源码分享】jquery+css实现侧边导航栏

    jquery+css实现侧边导航栏 最近做项目的时候,突然想用一个侧边导航栏,网上找了几个插件,有的太丑而且不太符合我的预期.与其修改别人的代码,不如自己来写一个了.废话不多说先上图,感兴趣的请继续看 ...

  4. html+css写出响应式侧边导航栏

    html部分:先写用div画好六个导航的卡片,再利用css添加响应效果 <div class='card-holder'> <div class='card-wrapper'> ...

  5. Android 4.4 上实现透明导航栏和状态栏 Translucent system bar

    Translucent system UI styling To get the most impact out of your content, you can now use new window ...

  6. Android学习笔记- Fragment实例 底部导航栏的实现

    1.要实现的效果图以及工程目录结构: 先看看效果图吧: 接着看看我们的工程的目录结构: 2.实现流程: Step 1:写下底部选项的一些资源文件 我们从图上可以看到,我们底部的每一项点击的时候都有不同 ...

  7. 兼容 Android 4.4 透明状态栏与导航栏

    http://www.apkbus.com/Android-163388-1-1.html?_dsign=73d41229 android 系统自4.2 开始 UI 上就没多大改变,4.4 也只是增加 ...

  8. Android之仿今日头条顶部导航栏效果

    随着时间的推移现在的软件要求显示的内容越来越多,所以要在小的屏幕上能够更好的显示更多的内容,首先我们会想到底部菜单栏,但是有时候像今日头条新闻客户端要显示的内容太多,而且又想在主界面全部显示出来,所以 ...

  9. android 自定义组合控件 顶部导航栏

    在软件开发过程中,经常见到,就是APP 的标题栏样式几乎都是一样的,只是文字不同而已,两边图标不同.为了减少重复代码,提高效率, 方便大家使用,我们把标题栏通过组合的方式定义成一个控件. 例下图: 点 ...

随机推荐

  1. 正确的注销PHP SESSION

    /* 1.每个页面都必须开启session_start()后才能在每个页面里面使用session. 2.session_start()初始化session,第一次访问会生成一个唯一会话ID保存在客户端 ...

  2. C++静态库与动态库(简介)

    C++静态库与动态库 这次分享的宗旨是——让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一 ...

  3. J2SE知识点摘记(二十一)

    实现原理 前面已经提了一下Collection的实现基础都是基于数组的.下面我们就已ArrayList 为例,简单分析一下ArrayList 列表的实现方式.首先,先看下它的构造函数. 下列表格是在S ...

  4. Cloning Java objects using serialization

    Sometimes you need to clone objects, and sometimes you can't use their clone method, and sometimes s ...

  5. XMPP安装中遇到需要卸载openfire的步骤

    首先,确保你已经关掉了openfire打开终端 (在应用程序—>实用工具—>)输入以下命令sudo rm -rf /Library/PreferencePanes/Openfire.pre ...

  6. LCIS(线段树区间合并)

    LCIS Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  7. mvc下载文件

    MVC下载文件方式 方式一: public FileStreamResult DownFile(string filePath, string fileName)  {       string ab ...

  8. win8.1 安装webaccess遇到的写访问权限错误

    大学的时候闲暇时间都用来玩游戏了,现在工作了,就把工作中遇到的问题和学习心得跟大家共享下,若有不对的地方欢迎指出,谢谢! 前几天突然想换用vs2013开发,就重装了win8.1系统,在新系统上安装we ...

  9. 227. Basic Calculator

    1. 问题描述 Implement a basic calculator to evaluate a simple expression string. The expression string c ...

  10. js高程笔记--创建对象

    1.工厂模式 ex: function createPerson( name, age, job) { var o = new Object() ; o.name = name; o.job = jo ...