Android SDK开发 — TitleBar重构 – 使用策略模式、舍弃代理模式
最后更新于:2022-04-01 10:06:08
代理模式
之前的使用如下。Activity和Fragment同时implement AppTitle
~~~
public abstract class BaseActivity extends Activity implements Handler.Callback, AppTitle {
~~~
~~~
public class BaseFragment extends Fragment implements AppTitle
~~~
修改后的
~~~
public class BaseFragment extends Fragment {
private AppTitle appTitle;
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Log.d("fragment:onCreateView", getView());
//
appTitle = new TitleMgr(getActivity(), getView());
appTitle.initTitle();
}
public AppTitle getAppTitle() {
return appTitle;
}
public void setAppTitle(AppTitle appTitle) {
this.appTitle = appTitle;
}
~~~
采用策略模式
如果某个BaseFragment的样式不太一样,可以重新AppTitle模块。同时又不影响整体app的使用。
默认的实现类是TitleMgr