代理模式?
之前的使用如下。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重構 - 使用策略模式、舍棄代理模式