Android SDK开发 -- TitleBar重构 - 使用策略模式、舍弃代理模式

代理模式 

之前的使用如下。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,android,SDK开发)