最近在继续iPhone 业务的同时还需要重新拾起Android 。在有些生疏的情况下,决定从Android 源码中感悟一些Android 的风格和方式。在学习源码的过程中也发现了一些通用的模式,希望通过一个系列的文章总结和分享下。 模板模式定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中。Android中的Activity、View等等都利用了模板模式。以AdapterView为例,所实现的模板模式的类图如下: 其中AdapterView通过getAdapter()、setAdapter(T adapter)、addView(View child)和onLayout()等方法将一部分具体逻辑延迟到各个子类实现。代码如下: public abstract class AdapterView<T extends Adapter> extends ViewGroup {
......
public abstract T getAdapter();
public abstract void setAdapter(T adapter);
@Override
public void addView(View child) {
throw new UnsupportedOperationException("addView(View) is not supported in AdapterView");
}
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
mLayoutHeight = getHeight();
}
......
}

更多相关文章

  1. Android开发实践:Android.mk模板
  2. android window类的解释及软输入法模式选项:
  3. Android(安卓)MVP设计模式介绍(附简单Demo下载)
  4. Android(安卓)Map开发基础知识学习笔记
  5. Android(安卓)中Observer模式的使用
  6. Android基本控件模板
  7. Android(安卓)关于Activity的四种启动模式的简单介绍
  8. Android中手机声音调节步骤(Android学习随笔四)
  9. Activity横竖屏切换

随机推荐

  1. android之shape
  2. “加一”项目总结--android使用篇(二)(转)
  3. Android ROM研究---如何在ubuntu下下载姜
  4. 【译】在JitPack发布自己的Android库
  5. [Android] 对android:layout_weight的一
  6. 修改android公共控件和后台服务
  7. Android学习—LinearLayout布局中实现左
  8. Android中自定义shape
  9. Android 动态加载(二) - 基础篇(二)
  10. android常用的一些属性说明