package liu.basedemo.base;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; import liu.basedemo.R; /**
* Fragment基类
* Created by 刘楠 on 2016/7/28 0028.21:45
*/
public abstract class BaseFragment extends Fragment { private Activity mActivity; @Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mActivity = getActivity();
} @Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View rootView = bindLayout(inflater);
return rootView;
} /**
* 子类必须实现
*
* @param inflater
* @return
*/
protected abstract View bindLayout(LayoutInflater inflater); @Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState); initData();
initListener();
} /**
* 子类可以不实现
*/
private void initData() { } /**
* 子类可以不实现
*/
private void initListener() { } /**
* 加载过场动画
*
* @param intent 意图
*/
@Override
public void startActivity(Intent intent) {
super.startActivity(intent);
/**
* 过场动画
*/
mActivity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} /**
* 加载过场动画
*
* @param intent 意图
* @param requestCode 请求码
*/
@Override
public void startActivityForResult(Intent intent, int requestCode) {
super.startActivityForResult(intent, requestCode); mActivity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} /**
* 加载过场动画
*/
@Override
public void onDestroy() {
super.onDestroy();
mActivity.overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
} }

实现BaseFragment的更多相关文章

  1. 写个Fragment方便的抽象基类 BaseFragment

    package com.zb.zhihuianyang.base; import android.app.Activity; import android.os.Bundle; import andr ...

  2. Android 谈谈封装那些事 --BaseActivity 和 BaseFragment(二)

      1.前言 昨天谈了BaseActivity的封装,Android谈谈封装那些事--BaseActivity和BaseFragment(一)有很多小伙伴提了很多建议,比如: 通用标题栏可以自定义Vi ...

  3. 抽取的BaseFragment和LoadingPage

    [BaseFragment]: public abstract class BaseFragment extends Fragment { /*★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ...

  4. BaseActivity与BaseFragment的封装

    这篇博客主要是从BaseActivity与BaseFragment的封装开始,总结我们在实战开发中关于Fragment的注意事项以及心得体会. 先看以下效果图: 这里模拟的是用户登录模块,你可能会说, ...

  5. Basefragment的封装使用

    1.前言 封装作为面向对象的三大特性之一,在我们平时的coding过程用的那是非常的多的.大多数时候,我们可以根据封装情况评判代码的质量水平. 本文主要讲解的是fragment的封装.大体上,在项目的 ...

  6. BaseFragment

    public abstract class BaseFragment extends Fragment { public FragmentActivity mActivity; /** * 此方法可以 ...

  7. BaseFragment的定义—所有Fragment的父类

    public abstract class BaseActivity extends AppCompatActivity implements View.OnClickListener { prote ...

  8. BaseFragment 基类

    package com.test.mvp.mvpdemo.mvp.v6.basemvp; import android.os.Bundle;import android.support.annotat ...

  9. BaseFragment 基类代码

    public abstract class BaseFragment extends Fragment implements IBaseView { private List<BasePrese ...

随机推荐

  1. MVC中使用EF+MySQL

    最近一段时间,想在EF中使用MySQL,于是就进行了测试. 我的环境是VS2013+EF6+MySQL5.7.4 首先要下载MySQL For VisualStudio 1.1.4.Connector ...

  2. 安装部署Windows服务脚本

    @echo off Installutil.exe 程序目录 F:\test\TestWindows.exe 服务程序目录 @sc start "服务名称" @sc config ...

  3. 【iOS】Object-C注释

    与其他语言一样,Object-C的注释也分为两种,一种是普通注释,一种是文档注释,普通注释通常给阅读代码的人看,而文档注释可以被appledoc识别,在使用的时候xcode能给出智能提示 简单注释 1 ...

  4. Java工程图标前面的红色叹号

    有时Java工程图标前面会出现一个红色的叹号,这是因为工程引入的jar包不存在(或者被删除.移动)造成的. 右键点击工程,选择Build Path->Configure Build Path,弹 ...

  5. form表单

      <form> <input type="text" value="123">   文本输入框,value值为显示在文本框中的默认值, ...

  6. Scalaz(25)- Monad: Monad Transformer-叠加Monad效果

    中间插播了几篇scalaz数据类型,现在又要回到Monad专题.因为FP的特征就是Monad式编程(Monadic programming),所以必须充分理解认识Monad.熟练掌握Monad运用.曾 ...

  7. [javaSE] 反射-Class类的基本操作

    获取类的名称 获取该类的方法 获取方法的返回值类型 获取方法的名称 获取方法的参数的类型 package com.tsh.reflect; import java.lang.reflect.Metho ...

  8. 01Mybatis_课程安排

    课程安排: mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开发)问题总结 mybatis框架原理   (掌握) m ...

  9. Xamarin 手动安装步骤+破解(最新版Xamarin V3)

    Create native iOS, Android, Mac and Windows apps in C#. 看到这句话,你就知道Xamarin是什么了,对于C#开发者,这样的标语还是会让你激动一下 ...

  10. JS中数组去除重复

    法一:返回新数组每个位子类型没变 function outRepeat(a){ var hash=[],arr=[]; for (var i = 0; i < a.length; i++) { ...