Android 新兴的UI模式——侧边导航栏【转】
侧边导航栏也就是大家熟知的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网站上,已经有很多开源组件实现了这种效果:
- jfeinstein10/SlidingMenu
- Gregadeaux/android-fly-in-app-navigation
- bk138/LibSlideMenu
- darvds/RibbonMenu
- eddieringle/android-undergarment
- SimonVT/android-menudrawer
- johnkilSideNavigation
- ...
接下来再介绍另外一个开源组件:ActionBarSherlock。这个ActionBarSherlock也是大有来头的,可以去研究研究,绝对是不错的东西来的。在设计导航的时候,这个可以用得上,很不错的说。因为SlidingMenu、SideNavigation的使用都要依赖这个组件,很多朋友应该也知道。
对于SlidingMenu这个组件,我在很多论坛都看有人发帖子介绍过,所以大家一个不陌生了。以上提供这么多的组件,那哪一个是你需要的呢,我觉得应该去逐一下载运行看看效果,通过比较权衡最后再决定去使用哪个或者自己参考实现。推荐大家都看看,然后研究一下实现的原理,这对于提高开发水平有很大的帮助。
其实,我最关注的还是实现这个效果的思路和步骤。之前看过很多这方面的博客,看多很多朋友的实现,有的继承HorizontalScrollView,有的继承ViewGroup,总体来说还是继承ViewGroup比较正规一点,因为官方的Navigation Drawer就是这么做的。国外的工程师Cyril Mottier在他的网站里面,发表过三篇文章,讲的就是这个方面的内容,比较深刻:
- The making of Prixing #1: Fly-in app menu
- The making of Prixing #2: Swiping the fly-in app menu
- The making of Prixing #3: Polishing the sliding app menu
总结:这个组件已不是什么新鲜事了,通过开源组件可以很容易的集成到自己的应用里面,不过对于想学习的朋友还是一个不错的案例。
Android 新兴的UI模式——侧边导航栏【转】的更多相关文章
- [置顶]
bootstrap自定义样式-bootstrap侧边导航栏的实现
前言 bootstrap自带的响应式导航栏是向下滑动的,有时满足不了个性化的需求,需要做一个类似于android drawerLayout 侧滑的菜单,这就是我要实现的bootstrap自定义侧滑菜单 ...
- 【机器学习实践】Jupyter Notebook安装 侧边导航栏功能 操作及其他常用扩展功能介绍
安装过程: 1. 首先我们引入jupyter_contrib_nbextension这个第三方库. 2. 在Anaconda Promot中输入命令: pip install jupyter_con ...
- 【源码分享】jquery+css实现侧边导航栏
jquery+css实现侧边导航栏 最近做项目的时候,突然想用一个侧边导航栏,网上找了几个插件,有的太丑而且不太符合我的预期.与其修改别人的代码,不如自己来写一个了.废话不多说先上图,感兴趣的请继续看 ...
- html+css写出响应式侧边导航栏
html部分:先写用div画好六个导航的卡片,再利用css添加响应效果 <div class='card-holder'> <div class='card-wrapper'> ...
- 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 ...
- Android学习笔记- Fragment实例 底部导航栏的实现
1.要实现的效果图以及工程目录结构: 先看看效果图吧: 接着看看我们的工程的目录结构: 2.实现流程: Step 1:写下底部选项的一些资源文件 我们从图上可以看到,我们底部的每一项点击的时候都有不同 ...
- 兼容 Android 4.4 透明状态栏与导航栏
http://www.apkbus.com/Android-163388-1-1.html?_dsign=73d41229 android 系统自4.2 开始 UI 上就没多大改变,4.4 也只是增加 ...
- Android之仿今日头条顶部导航栏效果
随着时间的推移现在的软件要求显示的内容越来越多,所以要在小的屏幕上能够更好的显示更多的内容,首先我们会想到底部菜单栏,但是有时候像今日头条新闻客户端要显示的内容太多,而且又想在主界面全部显示出来,所以 ...
- android 自定义组合控件 顶部导航栏
在软件开发过程中,经常见到,就是APP 的标题栏样式几乎都是一样的,只是文字不同而已,两边图标不同.为了减少重复代码,提高效率, 方便大家使用,我们把标题栏通过组合的方式定义成一个控件. 例下图: 点 ...
随机推荐
- 正确的注销PHP SESSION
/* 1.每个页面都必须开启session_start()后才能在每个页面里面使用session. 2.session_start()初始化session,第一次访问会生成一个唯一会话ID保存在客户端 ...
- C++静态库与动态库(简介)
C++静态库与动态库 这次分享的宗旨是——让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一 ...
- J2SE知识点摘记(二十一)
实现原理 前面已经提了一下Collection的实现基础都是基于数组的.下面我们就已ArrayList 为例,简单分析一下ArrayList 列表的实现方式.首先,先看下它的构造函数. 下列表格是在S ...
- Cloning Java objects using serialization
Sometimes you need to clone objects, and sometimes you can't use their clone method, and sometimes s ...
- XMPP安装中遇到需要卸载openfire的步骤
首先,确保你已经关掉了openfire打开终端 (在应用程序—>实用工具—>)输入以下命令sudo rm -rf /Library/PreferencePanes/Openfire.pre ...
- LCIS(线段树区间合并)
LCIS Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- mvc下载文件
MVC下载文件方式 方式一: public FileStreamResult DownFile(string filePath, string fileName) { string ab ...
- win8.1 安装webaccess遇到的写访问权限错误
大学的时候闲暇时间都用来玩游戏了,现在工作了,就把工作中遇到的问题和学习心得跟大家共享下,若有不对的地方欢迎指出,谢谢! 前几天突然想换用vs2013开发,就重装了win8.1系统,在新系统上安装we ...
- 227. Basic Calculator
1. 问题描述 Implement a basic calculator to evaluate a simple expression string. The expression string c ...
- js高程笔记--创建对象
1.工厂模式 ex: function createPerson( name, age, job) { var o = new Object() ; o.name = name; o.job = jo ...