Android SDK開發 -- TitleBar重構
阿新 • • 發佈:2019-02-14
代理模式
之前的使用如下。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