package com.wuxiaosu.wechathelper.base; import android.app.ProgressDialog; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.support.annotation.ColorRes; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import android.widget.Toast; import com.jaeger.library.StatusBarUtil; import com.wuxiaosu.wechathelper.R; import butterknife.ButterKnife; /** * Created by su on 2018/1/7. */ public class BaseActivity extends AppCompatActivity { private Toolbar mToolbar; @Override public void setContentView(int layoutResID) { super.setContentView(layoutResID); initStatusBar(); initToolbar(); ButterKnife.bind(this); } /** * 初始化状态栏颜色 * 更多详情https://github.com/laobie/StatusBarUtil */ protected void initStatusBar() { if (isStatusBarTransparent()) { StatusBarUtil.setTransparent(BaseActivity.this); return; } StatusBarUtil.setColor(this, (ContextCompat.getColor(this, getStatusBarColor())), 0); } /** * 状态栏是否透明 * * @return 默认否 */ protected boolean isStatusBarTransparent() { return false; } /** * 状态栏默认颜色,不支持动态修改 * * @return 状态栏颜色 */ @ColorRes protected int getStatusBarColor() { return R.color.status_bar; } private void initToolbar() { mToolbar = findViewById(R.id.toolbar); if (null == mToolbar) { return; } ActivityInfo mActivityInfo = null; try { mActivityInfo = getPackageManager(). getActivityInfo(this.getComponentName(), PackageManager.GET_META_DATA); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } // 在 AndroidManifest 中添加 android:label 设置默认标题栏 if (mActivityInfo != null && 0 != mActivityInfo.labelRes) { mToolbar.setTitle(mActivityInfo.labelRes); } else { mToolbar.setTitle(""); } setSupportActionBar(mToolbar); mToolbar.setNavigationIcon(R.drawable.ic_arrow_back); mToolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } }); } public Toolbar getToolbar() { return mToolbar; } /** * 显示状态栏 */ public void showToolbar() { getToolbar().setVisibility(View.VISIBLE); } /** * 隐藏状态栏 */ public void hideToolbar() { getToolbar().setVisibility(View.GONE); } private ProgressDialog mProgressDialog; /** * 显示 progress dialog */ public void showProgressDialog() { showProgressDialog("请稍候...", false); } /** * 显示 progress dialog * * @param cancelable 点击空白处是否可以关闭 */ public void showProgressDialog(boolean cancelable) { showProgressDialog("请稍候...", cancelable); } /** * 显示 progress dialog * * @param text * @param cancelable */ public void showProgressDialog(String text, boolean cancelable) { if (null == mProgressDialog) { mProgressDialog = new ProgressDialog(this); } mProgressDialog.setMessage(text); mProgressDialog.setCancelable(cancelable); mProgressDialog.show(); } /** * 关闭 progress dialog */ public void dismissProgressDialog() { if (null != mProgressDialog && mProgressDialog.isShowing()) { mProgressDialog.dismiss(); } } /*** * 双击退出 * * @param text */ protected void exitBy2Click(String text) { long secondTime = System.currentTimeMillis(); if (secondTime - firstTime > 2000) { Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); firstTime = secondTime; } else { finish(); } } private long firstTime = 0; }