1. 程式人生 > >Android SDK開發 -- TitleBar重構

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