Android开发truck快速开发框架Activity、Fragment(三)
2018-01-23 11:20
288 查看
简介
truck项目的github地址:https://github.com/hookYuan/Truck对于一个快速开发的Android端框架来说,Activity和Fragment是开发中必不可少的两个话题。从代码的设计模式来看,我们可以把
Activity和Fragment都看作是MVP中的View,因此在Activity和Fragment中,我主要是封装了一些基本操作和常用View的相关操作。
以下主要通过两个方面来分别讲解Activity和fragment各自的基本使用。最后在讲解一下他们如何实现快速开发。
示例
truck快速开发框架中对Activity做了很多的封装,第一层为BaseActivity,BaseActivity继承自RxAppCompatActivity,而RxAppCompatActivity主要用作管理RxJava的生命周期,确保线程安全销毁。第二层为TitleActivity,TitleActivity主要是默认在界面中添加Titlebar,可以
自由设置Titlebar的相关操作。例如:
getTitleBar().setTitleAndStatusBgColor(ContextCompat.getColor(this, com.yuan.basemodule.R.color.transparent)). setFontColor(ContextCompat.getColor(this, R.color.white)) .setToolbar("青花瓷");
titlbar在后面会做详细讲解,只要继承TitleActivity即可无须再布局文件中添加title,调用getTitleBar()方法即可对titlebar进行操作。第
三层为ExtraActivity。这里是对Activity的扩展功能。默认只对Activity做了3个扩展:
扩展一,下拉刷新。对下拉刷新实现方式这里采用的是三方控件,默认采用SmartRefreshLayout,可以通过HRefresh替换刷新控件。使用方法为ExtraActivity继承IRefresh接口,重写刷新方法即可。
扩展二,状态控制器。这里的状态控制器,主要是指在Activity正常加载时,如果出现没有网络或者服务器当前数据为空的情况下展示的界面切换。
扩展三,ISwipBack。在Activity实现界面右滑返回。如需使用,只需要当前ExtraActivity实现ISwipBack接口即可。
之前在MVP篇讲到的MVPActivity则是继承自ExtraActivity。除了ExtraActivity,这里还有一个比较重要的FragmentActivity。FragmentActivity主要是封装了对Fragment的重复性代码,配合LazyFragment,简单实现了对Fragment的延迟加载。FragmentActivity中基本用法如下:
public class MainActivity extends FragmentActivity { @Override public int getLayoutId() { return R.layout.activity_main; } @Override public void initData(Bundle savedInstanceState) { addFragment(R.id.content,TestFragment.class, TestFragment2.class); Button btn01 = (Button) findViewById(R.id.btn_01); btn01.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showFragment(0); } }); Button btn02 = (Button) findViewById(R.id.btn_02); btn02.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showFragment(1); } }); } }在FragmentActivity中通过addFragment添加你需要添加的Fragment,通过反射类型,生成对应的Fragment实例,通过showFragment()方法控制显示的fragment,这里传入的下标为添加Fragment中的顺序。并且,如果Fragment继承自LazyFragment,当前尽当fragment显示时才会执行initData中的代码,实现延迟加载。提高app初次加载速度。
由于Fragment中和Activity的基本功能封装都是一一对应的,所以这里就不在重复介绍Fragment。
快速开发
前面讲了Acitivty和Fragment的基本用法,这里谈一下他们分别适合什么样的应用场景,在什么样的情况下可以达到事半功倍的效果。有公共titlebar的情况下,可以快速实现TitleBar的高度定制。
需要在Activity中显示Fragment的时候,可以简化Fragment初始化过程。
当Activity有太多需要扩展的功能时,比如右滑返回。可以使用ExtraActivity快速扩展。
最后附上truck快速开发交流qq群:698442320
相关文章推荐
- Android开发truck快速开发框架OKHttp(七)
- Android开发truck快速开发框架使用说明(一)
- Android开发truck快速开发框架 常用工具集合(九)
- Android开发truck快速开发框架Dialog(五)
- HiTabs——Android Fragment界面框架快速开发
- Android开发truck快速开发框架Adapter(四)
- Android开发truck快速开发框架TitleBar(六)
- Android开发truck快速开发框架 Shape(八)
- Android开发truck快速开发框架MVP实现(二)
- android快速开发框架,集成了底部tab键切换界面、toolbar、沉浸式状态栏、BaseActivity、BaseAdapter、BaseFragment等
- 安卓项目快速开发框架, MVP + Retrofit + RxJava,Activity 和 Fragment 结合 MVP 模式的完整封装,大大减少代码量
- Android开发truck快速开发框架 album(十)
- Android的快速开发框架 afinal
- 使用android快速开发框架afinal 开发android应用程序
- Android的快速开发框架 afinal
- android开发之activity运行时添加fragment
- Android项目快速开发框架探索(Mysql + OrmLite + Hessian + Sqlite)
- Android项目快速开发框架探索(Mysql + OrmLite + Hessian + Sqlite)
- Android开发:使用Fragment改造TabActivity
- Android的快速开发框架 afinal