BaseActivity
public abstract class BaseActivity extends AppCompatActivity {
protected Context mContext;
protected abstract int initLayoutId();
protected abstract void initView();
protected abstract void initData();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
initLayoutId();
super.onCreate(savedInstanceState);
setContentView(initLayoutId());
mContext = this;
ButterKnife.bind(this);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0 全透明状态栏
View decorView = getWindow().getDecorView();
int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
decorView.setSystemUiVisibility(option);
getWindow().setStatusBarColor(Color.TRANSPARENT);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//4.4 全透明状态栏
WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();
localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags);
}
initData();
initView();
}
@Override
protected void onDestroy() {
ButterKnife.unbind(this);
super.onDestroy();
}
}
BaseFragment
public abstract class BaseFragment extends Fragment {
protected BaseActivity mActivity;
protected View mRootView;
protected abstract int initLayoutId();
protected abstract void initView();
protected abstract void initData();
@Override
public void onAttach(Context context) {
super.onAttach(context);
mActivity = (BaseActivity) context;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initData();
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
initLayoutId();
mRootView = inflater.inflate(initLayoutId(), container, false);
ButterKnife.bind(this, mRootView);
initView();
return mRootView;
}
@Override
public void onDestroyView() {
ButterKnife.unbind(this);
super.onDestroyView();
}
}