Android项目开发常用工具类BaseActivity

Posted 谷哥的小弟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android项目开发常用工具类BaseActivity相关的知识,希望对你有一定的参考价值。


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

BaseActivity概述

BaseActivity用于项目中Activity的基类。

BaseActivity截图

BaseActivity截图如下:

DisplayUtils源码

BaseActivity源码如下:


import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

/**
 * Activity基类
 *
 * 本文作者:谷哥的小弟
 * 博客地址:http://blog.csdn.net/lfdfhl
 */
public abstract class BaseActivity extends AppCompatActivity implements HandlerAction 

    private final Handler mHandler = new Handler(Looper.getMainLooper());
    private final LightTaskUtils mTaskUtils = new LightTaskUtils();
    private ImmersionBar mImmersionBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(getContentLayoutId());
        initViews();
        // 初始化沉浸式状态栏
        if (isStatusBarEnabled()) 
            getStatusBarConfig().init();
        
        initData();
    

    protected abstract int getContentLayoutId();

    protected abstract void initViews();

    /**
     * 是否使用沉浸式状态栏
     */
    protected boolean isStatusBarEnabled() 
        return true;
    

    /**
     * 状态栏字体深色模式
     */
    protected boolean isStatusBarDarkFont() 
        return true;
    

    /**
     * 获取状态栏沉浸的配置对象
     */
    public ImmersionBar getStatusBarConfig() 
        if (mImmersionBar == null) 
            mImmersionBar = createStatusBarConfig();
        
        return mImmersionBar;
    

    /**
     * 初始化沉浸式状态栏
     */
    @NonNull
    protected ImmersionBar createStatusBarConfig() 
        return ImmersionBar.with(this)
                // 默认状态栏字体颜色为黑色
                .statusBarDarkFont(isStatusBarDarkFont())
                // 指定导航栏背景颜色
                .navigationBarColor(android.R.color.white)
                // 状态栏字体和导航栏内容自动变色,必须指定状态栏颜色和导航栏颜色才可以自动变色
                .autoDarkModeEnable(true, 0.2f);
    

    @Override
    public Handler getMainHandler() 
        return mHandler;
    

    @Override
    public LightTaskUtils getAsyncHandler() 
        return mTaskUtils;
    

    protected void initData() 

    

    @Override
    protected void onDestroy() 
        super.onDestroy();
        mTaskUtils.removePost();
        mHandler.removeCallbacksAndMessages(null);
    


以上是关于Android项目开发常用工具类BaseActivity的主要内容,如果未能解决你的问题,请参考以下文章

Android项目开发常用工具类BaseActivity

Android开发常用工具类

android开发Tost工具类管理

Android快速开发系列 10个常用工具类

android开发SD卡工具类

android开发MD5加密工具类