android 导航动画,安利一个Android导航库
SlidingRootNav
这是一个像DrawerLayout一样的抽屉式的导航库,这个库实现的抽屉在content view的下层,滑动之后,才能看到相应的导航页
使用
Gradle
添加依赖
compile 'com.yarolegovich:sliding-root-nav:1.0.2'
使用说明
创建一个 content_view.xml或通过编程方式创建
在Activity中设置view(setContentView)
创建menu.xml或通过编程方式创建
在onCreate方法中注入菜单。
new SlidingRootNavBuilder(this)
.withMenuLayout(R.layout.menu_left_drawer)
.inject();
API
过场动画
创建时可以添加一些过场动画,库本身提供一些默认的过场。
new SlidingRootNavBuilder(this)
.withDragDistance(140) //水平动画. Default == 180dp
.withRootViewScale(0.7f) //设置主view的缩放比例0~0.7. 默认值 == 0.65f;
.withRootViewElevation(10) //主view垂直方向的值 0~10dp. 默认值 == 8.
.withRootViewYTranslation(4) //主view y轴方向的过场0~4. 默认值 == 0
.addRootTransformation(customTransformation) // 添加自定义过场
.inject();
customTransformation 是自定义的,需要实现 RootTransformation 接口
菜单的行为
new SlidingRootNavBuilder(this)
.withMenuOpened(true) //初始化菜单的状态(打开/关闭) 默认值 == false
.withMenuLocked(false) //锁定菜单,true时不能打开或关闭菜单 默认值 == false.
.withGravity(SlideGravity.LEFT) //设置菜单从哪个方向出来,
.withSavedState(savedInstanceState) //是否保存菜单的状态
.inject();
控制布局
public interface SlidingRootNav {
boolean isMenuHidden();
boolean isMenuLocked();
void closeMenu();
void closeMenu(boolean animated);
void openMenu();
void openMenu(boolean animated);
void setMenuLocked(boolean locked);
SlidingRootNavLayout getLayout(); //If for some reason you need to work directly with layout - you can
}
在调用inject()后返回的实例,可以控制布局
回调
滑动过程的回调
builder.addDragListener(listener);
public interface DragListener {
void onDrag(float progress); //Float between 0 and 1, where 1 is a fully visible menu
}
滑动状态的回调
builder.addDragStateListener(listener);
public interface DragStateListener {
void onDragStart();
void onDragEnd(boolean isMenuOpened);
}
兼容 DrawerLayout.DrawerListener 回调
DrawerListenerAdapter adapter = new DrawerListenerAdapter(yourDrawerListener, viewToPassAsDrawer);
builder.addDragListener(listenerAdapter).addDragStateListener(listenerAdapter);
android 导航动画,安利一个Android导航库相关推荐
- java工程引用其他工程,Android工程:引用另一个Android工程的方法详解
现在已经有了一个Android工程A.我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A. 一个思路是把工程A做成纯Jar包,这样其他的工程就可以直 ...
- android 帧动画监听,Android 动画(View动画,帧动画,属性动画)详细介绍
0. 前言 Android动画是面试的时候经常被问到的话题.我们都知道Android动画分为三类:View动画.帧动画和属性动画. 先对这三种动画做一个概述: View动画是一种渐进式动画,通过图像的 ...
- android+下落+动画,完美起航-Android面试题之动画+事件处理篇
前言 提示:秋招在即,计蒙准备在国庆假期结束前整理一套Android初级面试题籍,希望对大家有所帮助 提示:以下是本篇文章正文内容 动画 1.Android 中的动画有哪几类 帧动画.补间动画.属性动 ...
- android开机动画不播放,android 设置activity启动退出动画 | 解决设置activity 动画不生效问题...
前提: 如果有动画,最好把activity 设置成透明,不然会有黑屏! true 方法一:代码里面设置 getActivity().startActivity(intent,bundle); getA ...
- android 帧动画不播放,Android Frame Animation 帧动画不播放问题。
今天在我的第一个应用<那些花儿>(养花助手),主页上加了两只翩翩起舞的蝴蝶. 效果图如下: 步骤也是很简单. 1.在anim文件夹内定义动画XML文件 android:oneshot=&q ...
- android使用动画画心形,Android中利用画图类和线程画出闪烁的心形,送给亲爱的他(她)...
本文讲解主要涉及的知识点: 1.线程控制 2.画图类 3.心形函数 大家先看图片: 因为前一段时间在写画图类,刚好有一个线程控制画图闪烁的,我就想说我能不能做一个心形闪烁的,出来的效果就如图,先贴再讲 ...
- android 机器人动画,画一个可以动的Android 小机器人
上次我们画了一个哆啦A梦,可惜这个哆啦A梦并不会动,今天我们就来画一个可以动的Android小人.这次,我们全程使用C3高级. image.png 好,废话不多说,我们直接上代码. Android 初 ...
- android 高光动画,记一个头像高光动画的CSS实现
前言 久违的,又抽时间写个博客(づ ̄3 ̄)づ╭❤-~ 今天想分享一个小动画的实现头像跳动并高光划过效果展示 大家可以先点进去看看效果~点击头像触发动画效果~ 或者直接看两张图片示意~全部代码贴在文字底 ...
- android开机默认动画,求一个 android 开机动画的代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 @_噢噢 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedIn ...
最新文章
- mysql分页案例_php+mysql 进行分页案例
- (0001) iOS 开发之收集第三方资源篇
- OPA 5 - CreateButtonTest creates CreateButtonSteps
- 获取字段 命名空间和类_系统架构之命名规范
- 证明的思路 —— 数形结合
- 科大讯飞 开放平台 开发者 语音识别
- jni数组使用(二)
- 元气骑士机器人的成就皮肤_元气骑士:5把特殊“红武”,想要机器人的皮肤,用它就对了!...
- 使用Windows批处理压缩文件
- 销售竞争情报实战--徐凌云老师
- java soapui 发送xml_javawebservice 中用soapui发送请求由于出现异常错误, 无法创建 SOAP 消息: XML 读进程错误...
- selenum登录163邮箱
- java编程:对两个分数进行简单的算术运算
- 【企业编程题JAVA】烽火通信2018校招软件工程师
- labspec6教程_LabSpec6软件功能–光谱扫描方式-Horiba.PDF
- eNSP配置静态路由实例
- 期货的价格与执行价格(期货执行价格是什么意思)
- oracle转借权限,Oracle Universal Connection Pool(UCP) for JDBC 详解
- 裁员纪实:联想不是我的家(转)
- 揭开前端绘制地图的神秘面纱
热门文章
- Android8内测申请,小米 6 安卓 8.0 来了 内测开始招募
- html input不能输入小数_【Python基础(八)】输入和输出
- php常见漏洞修复,phpstudy漏洞修复方法
- php框架laravel_Laravel简介(PHP框架)
- Java 中 10 大坑爹功能!
- Golang类型转换
- Centos7.x Hadoop 3.x HDFS 写入文件
- js处理16进制hex转str出现的中文乱码问题
- 简单的ajax上传商品功能使用SevletFileUpload和FormData
- openssl 1.1.1编译语句