package com.chad.baserecyclerviewadapterhelper.base;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.chad.baserecyclerviewadapterhelper.R;
import com.orhanobut.logger.Logger;
/**
* 文 件 名: BaseActivity
* 创 建 人: Allen
* 创建日期: 16/12/24 15:33
* 邮 箱: AllenCoder@126.com
* 修改时间:
* 修改备注:
*/
public class BaseActivity extends AppCompatActivity {
/**
* 日志输出标志getSupportActionBar().
**/
private TextView title;
private ImageView back;
protected final String TAG = this.getClass().getSimpleName();
protected void setTitle(String msg) {
if (title != null) {
title.setText(msg);
}
}
/**
* sometime you want to define back event
*/
protected void setBackBtn() {
if (back != null) {
back.setVisibility(View.VISIBLE);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}else {
Logger.t(TAG).e("back is null ,please check out");
}
}
protected void setBackClickListener(View.OnClickListener l) {
if (back != null) {
back.setVisibility(View.VISIBLE);
back.setOnClickListener(l);
}else {
Logger.t(TAG).e("back is null ,please check out");
}
}
private LinearLayout rootLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 经测试在代码里直接声明透明状态栏更有效
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
// 这句很关键,注意是调用父类的方法
super.setContentView(R.layout.activity_base);
initToolbar();
}
private void initToolbar() {
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
setSupportActionBar(toolbar);
}
if (getSupportActionBar() != null) {
// Enable the Up button
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setDisplayShowTitleEnabled(false);
}
back = (ImageView) findViewById(R.id.img_back);
title = (TextView) findViewById(R.id.title);
}
@Override
public void setContentView(int layoutId) {
setContentView(View.inflate(this, layoutId, null));
}
@Override
public void setContentView(View view) {
rootLayout = (LinearLayout) findViewById(R.id.root_layout);
if (rootLayout == null) return;
rootLayout.addView(view, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
initToolbar();
}
}