代理模式
之前的使用如下。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
- 前言
- Android sdk开发 - 序
- Android sdk开发(一)Application设计
- Android sdk开发(二) Log日志类的设计
- Android SDK开发 (三) App的属性配置
- android SDK开发-- 功能设计
- android SDK开发 -- TitleBar封装(一)
- android SDK开发 -- TitleBar封装(二)
- Android SDK开发 -- TitleBar重构 (代理模式的使用)
- Android SDK开发 -- TitleBar重构 (代理模式-优化)
- android SDK核心功能 -- 消息传递与界面刷新
- Android SDK开发 -- TitleBar重构 - 使用策略模式、舍弃代理模式