Android-Toolkit
一个轻量的Android开发工具包
项目地址 : https://github.com/zfman/Android-Toolkit
由于前期设计不合理,该库废弃,请移至新版本的库
新库的Github地址 : https://github.com/zfman/common
引入依赖
dependencies {
compile 'com.zhuangfei:Toolkit:1.0.2'
}
IntentToolkit
IntentToolkit
是一个可实例化的对象,使用它可以轻松的执行页面跳转、传值等操作,IntentToolkit
将BundleModel
封装在其内部,链式调用更加简洁。
1.普通跳转
该用法用于从A跳转到B页面
//普通跳转
public void toB(){
new IntentToolkit().with(this)
.target(B.class)
.execute();
}
2.跳转之后不finish自身
该用法用于从A跳转到B页面,且不finish自身,默认的情况下A->B之后,A将被Finish掉。
如果不需要finish,参考如下代码:
//普通跳转
public void toB(){
new IntentToolkit().with(this)
.target(B.class)
.ignoreFinish()//取消finish
.execute();
}
3.普通回退
该用法用于从B回退到A页面
//普通跳转
new IntentToolkit().with(this)
.target(returnClass)
.canBack()//调用该方法表示执行回退
.execute();
4.携带复杂数据跳转
Student需要实现序列化接口
new IntentToolkit().with(this)
.target(OtherActivity.class)
.fromItem(1)
.toItem(2)
.put("name","zhuangfei")
.put("passwd","123456")
.put("student",new Student("311509060128",23,"zhaungfei"))
.execute();
5.携带数据回退
new IntentToolkit().with(this)
.target(returnClass)
.fromItem(2)
.toItem(1)
.put("result","成功")
.canBack()
.execute();
6.接收数据
类似以下用法,指定默认的值,可以避免出现空指针异常
name=BundleTools.getString(this,"name","defaultValue");
returnClass=BundleTools.getFromClass(this,A.class);
7.取消转场动画
首先定义一个ActivityBuilder,继承DefaultActivityBuilder,将转场动画取消,该用法也可以为Intent添加flag
/**
* 取消转场动画,返回0即可
*/
public class CustomActivityBuilder extends DefaultActivityBuilder {
@Override
public void filter(Intent intent) {
}
@Override
public int getEnterAnimOnTo() {
return 0;
}
@Override
public int getOutAnimOnTo() {
return 0;
}
@Override
public int getEnterAnimOnBack() {
return 0;
}
@Override
public int getOutAnimOnBack() {
return 0;
}
}
然后设置跳转即可
new IntentToolkit().with(this)
.target(A.class)
.builder(new CustomActivityBuilder())
.execute();