安卓开发中Activity抽象基类BaseActivity的编写

原创 2016年08月28日 20:57:57

安卓开发中经常要写一个Activity的抽象基类,以便于将一些基本的功能封装,减少代码量。下面的BaseActivity则是一个非常简单易用的抽象基类。
大家可以根据自己要写的app进行适应性修改。

public abstract class BaseActivity extends AppCompatActivity {
    /** 是否状态栏透明 **/
    private boolean isSetStatusBar = false;
    /** 是否允许全屏 **/
    private boolean mAllowFullScreen = false;
    /** 是否禁止旋转屏幕 **/
    private boolean isAllowScreenRoate = false;
    /** 日志输出标志 **/
    protected final String TAG = this.getClass().getSimpleName();



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d(TAG, "BaseActivity-->onCreate()");

        if (mAllowFullScreen) {
            requestWindowFeature(Window.FEATURE_NO_TITLE);
        }
        if (isSetStatusBar) {
            steepStatusBar();
        }
        if (!isAllowScreenRoate) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
    }

    /**
     * [沉浸状态栏]
     */
    private void steepStatusBar() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            // 透明状态栏
            getWindow().addFlags(
                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            // 透明导航栏
            getWindow().addFlags(
                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
        }
    }


    @Override
    protected void onRestart() {
        super.onRestart();
        Log.d(TAG, "onRestart()");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.d(TAG, "onStart()");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.d(TAG, "onResume()");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.d(TAG, "onPause()");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.d(TAG, "onStop()");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d(TAG, "onDestroy()");
    }

    /**
     * [是否允许全屏]
     *
     * @param allowFullScreen
     */
    public void setAllowFullScreen(boolean allowFullScreen) {
        this.mAllowFullScreen = allowFullScreen;
    }

    /**
     * [是否设置沉浸状态栏]
     *
     * @param isSetStatusBar
     */
    public void setSteepStatusBar(boolean isSetStatusBar) {
        this.isSetStatusBar = isSetStatusBar;
    }

    /**
     * [是否允许屏幕旋转]
     *
     * @param isAllowScreenRoate
     */
    public void setScreenRoate(boolean isAllowScreenRoate) {
        this.isAllowScreenRoate = isAllowScreenRoate;
    }
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

编写基类BaseActivity

最近接手了一个新项目,在项目中看着繁重的BaseActivity不禁让我开始思考。 在开发中Activity中承担着繁重的任务 组件绑定 事件跳转 网络请求 业务逻辑 动画 窗口管理(横竖屏。沉浸式...

关于activity继承的抽象类Context(基类)

Activity ---ContextThemeWrapper ------ContextWrapper ---------Context 其他的两个先不看,先看最后一个context...

基类BaseActivity

  • 2015-07-21 09:08
  • 960KB
  • 下载

提高安卓APP开发效率、管理代码的架子(一):BaseActivity&BaseApplication

BaseActivitypackage com.appstore;import android.os.Bundle; import android.support.v4.app.FragmentAct...

Android项目基类BaseActivity

  • 2015-03-03 21:34
  • 413KB
  • 下载

手把手教你如何搭建一个自己的安卓快速开发框架之BaseActivity(一)

博客出自:http://blog.csdn.net/u012534831 继上一篇博客已经好几个月没发布新博客了,中间因为教研室项目原因转手C#几个月,然后又加上各种事情(再加上懒 - -!)...

Android App框架设计 基类BaseActivity

Android App框架设计 基类BaseActivity

Android 基类 (BaseActivity) 设计

Android 基类 (BaseActivity) 设计

Android学习之自定义基类BaseApplication和BaseActivity

Android开发中相信大家一定会使用到许多重复的类似的方法,对于这些重复的工作,我们可以将其提取到一个Util工具类当中来提高开发效率,当然也可以直接新建一个基类来提取这些重复的方法,我个人比较偏向...

Android 基类BaseActivity的封装

摘要本篇总结了前人写的BaseActivity,自己在开发过程中也添添补补,删删改改,现在总结下。本篇很多知识借鉴和学习了知乎上iYng大大的回答,先感谢一波。顺便上原文链接: https://ww...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)