【安卓】安卓App开发思路 一步一个脚印(三)BaseActivity BaseFragment

来源:互联网 发布:java object的方法 编辑:程序博客网 时间:2024/05/22 03:19

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();    }}

0 0