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的主要内容,如果未能解决你的问题,请参考以下文章