构建BaseActivity BaseFragment
2017-05-11 11:06
183 查看
1.BaseActivity:
public abstract class BaseActivity extends AppCompatActivity {private Unbinder mUnbinder;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setStateBarColor();}public void setStateBarColor(){setStateBarColor(R.color.color_3d5b96);}public void setStateBarColor(@ColorRes int color){if(VERSION.SDK_INT >= 21){Window window = this.getWindow();//取消设置透明状态栏,使 ContentView 内容不再覆盖状态栏window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//需要设置这个 flag 才能调用 setStatusBarColor 来设置状态栏颜色window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);//设置状态栏颜色window.setStatusBarColor(getResources().getColor(color));}}@Overridepublic void setContentView(@LayoutRes int layoutResID) {super.setContentView(layoutResID);mUnbinder = ButterKnife.bind(this);findViews();init();}protected abstract void findViews();protected abstract void init();@Overrideprotected void onStart() {super.onStart();}@Overrideprotected void onStop() {super.onStop();}@Overrideprotected void onDestroy() {super.onDestroy();mUnbinder.unbind();}}应用activity:public class GalleryActivity extends BaseActivity {@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_gallery);}@Overrideprotected void findViews() {}@Overrideprotected void init() {}2.basefragment:public abstract class BaseFragment extends RxFragment {private Unbinder mUnbinder;@Overridepublic void onAttach(Context context) {super.onAttach(context);}@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);}@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {View view;if (getLayoutView() != null) {view = getLayoutView();mUnbinder = ButterKnife.bind(this, view);} else {view = inflater.inflate(getLayoutId(), null);mUnbinder = ButterKnife.bind(this, view);}return view;}@Overridepublic void onViewCreated(View view, Bundle savedInstanceState) {super.onViewCreated(view, savedInstanceState);//设置状态栏默认颜色为蓝色StatusBarCompat.setStatusBarColor(getActivity(), ContextCompat.getColor(getContext(), R.color.color_3d5b96));}@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);initData();}@Overridepublic void onDestroyView() {super.onDestroyView();mUnbinder.unbind();}/*** 在此方法中初始化数据*/public abstract void initData();public abstract int getLayoutId();public View getLayoutView() {return null;}}应用:public class ShowFragment extends BaseFragment{@BindView(R.id.proflie_edit)ViewGroup mProfileEidt; //编辑private UserProfileShowContract.Presenter mPresenter;public static UserProfileShowFragment newInstance() {Bundle args = new Bundle();UserProfileShowFragment fragment = new UserProfileShowFragment();fragment.setArguments(args);return fragment;}public void setPresenter(@NonNull UserProfileShowContract.Presenter presenter) {mPresenter = presenter;}@Overridepublic void initData() {mPresenter.start();updateView();}@Overridepublic int getLayoutId() {return R.layout.fragment_me_profile_show;}@Overridepublic void onResume() {super.onResume();mPresenter.updateDataIfNeed();}@Overridepublic void onStop() {super.onStop();}}
相关文章推荐
- Android探索之旅(第二十八篇)BaseActivity,BaseFragment封装必要点
- BaseActivity与BaseFragment的封装
- 【安卓】安卓App开发思路 一步一个脚印(三)BaseActivity BaseFragment
- Android模板设计模式之 - 构建整个应用的BaseActivity
- Android 谈谈封装那些事 --BaseActivity 和 BaseFragment(二)
- BaseFragment onClick中点击事件跳转到Activity
- Android模板设计模式之 - 构建整个应用的BaseActivity
- BaseActivity,LazyBaseFragment懒加载问题分析
- Activity转换为Fragment
- Android 界面类 Activity 和 Fragment 互相传递返回值解析
- 一个Activity中多个Fragment实现沉浸式状态栏
- BaseFragment基类封装
- Android学习路线(二十三)运用Fragment构建动态UI——Fragment间通讯
- android中fragment仿造Activity实现Ontouch的原理
- 安卓fragment跳转activity,fragment跳转fragment,activity跳转fragment
- [有源码]ViewPager+Fragment+RadioButton替代TabActivity
- Activity与Fragment搭配使用时,Fragment中使用Toast频繁出现空指针异常的解决办法
- Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml
- Android App框架设计之编写基类BaseActivity
- Lifecycle Activity和Fragment生命周期感知组件 LifecycleObserver