一,新建抽象的BaseActivity继承Activity
设置布局,标题栏是否显示,是否全屏,toast简化弹出,初始化控件,数据等。
public abstract class BaseActivity extends Activity {
/***是否显示标题栏*/
private boolean isshowtitle = true;
/***是否显示标题栏*/
private boolean isshowstate = true;
/***封装toast对象**/
private static Toast toast;
/***获取TAG的activity名称**/
protected final String TAG = this.getClass().getSimpleName();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(!isshowtitle){
requestWindowFeature(Window.FEATURE_NO_TITLE);
}
if(isshowstate){
getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,
WindowManager.LayoutParams. FLAG_FULLSCREEN);
}
//设置布局
setContentView(intiLayout());
//初始化控件
initView();
//设置数据
initData();
}
/**
* 设置布局
*
* @return
*/
public abstract int intiLayout();
/**
* 初始化布局
*/
public abstract void initView();
/**
* 设置数据
*/
public abstract void initData();
/**
* 是否设置标题栏
*
* @return
*/
public void setTitle(boolean ishow) {
isshowtitle=ishow;
}
/**
* 设置是否显示状态栏
* @param ishow
*/
public void setState(boolean ishow) {
isshowstate=ishow;
}
/**
* 显示长toast
* @param msg
*/
public void toastLong(String msg){
if (null == toast) {
toast = new Toast(this);
toast.setDuration(Toast.LENGTH_LONG);
toast.setText(msg);
toast.show();
} else {
toast.setText(msg);
toast.show();
}
}
/**
* 显示短toast
* @param msg
*/
public void toastShort(String msg){
if (null == toast) {
toast = new Toast(this);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setText(msg);
toast.show();
} else {
toast.setText(msg);
toast.show();
}
}
}
二,
继承自BaseActivity的Activity使用:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
setTitle(false);//设置是否显示标题栏
setState(false);//设置是否显示状态栏
super.onCreate(savedInstanceState); toastLong("长时间弹出"); //弹出toast
}
@Override
public int intiLayout() {
//设置子类的布局
return R.layout.activity_splash;
}
@Override
public void initView() {
//初始化控件
}
@Override
public void initData() {
//初始化数据
}