首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

施用Observer模式解决图片拖动与缩放

2012-08-31 
使用Observer模式解决图片拖动与缩放1、java内置的观察者模式:由Java 中的Observable 类和 Observer 接口组

使用Observer模式解决图片拖动与缩放

1、java内置的观察者模式:

由Java 中的Observable 类和 Observer 接口组成

(1) Observable 类代表 被观察者 (java.util.Observable )

主要方法有:

void setChanged() : 设置被观察者的状态已经被改变
void addObserver(Observer observer) : 添加观察者
int countObservers() : 返回所有观察者的数目
void deleteObserver(Observer observer) :删除指定观察者
void deleteObservers() : 删除所有观察者
boolean hasChanged() : 被观察者的状态是否被改变,如果是则返回true,否则返回false
void notifyObservers() : 通知所有观察者

void notifyObservers(Object arg) : 通知所有观察者(参数一般设定为被改变的属性)
void clearChanged() :清除被观察者状态的改变

(2) Observer 接口代表 观察者 (java.util.Observer )

void update(Observable observable, Object arg) :当 被观察者 调用 notifyObservers() 方法
时,会根据被观察者的 hasChanged() 方法 来判断 它的状态是否被改变, 如果被观察者的状态被改变了,则
会调用 观察者 的 update 方法,参数 observable 为 被观察者对象, arg 为调用 notifyObservers( Object arg ) 时传入的参数 arg ,如果调用的是 notifyObservers() 方法, 则 arg 为 null。

值得注意的是:在Observable里,在notify()时必须先调用setChanged()方法,此方式表明状态更新...

贴上代码:

ImageZoomState类:

施用Observer模式解决图片拖动与缩放


参考英文文献:http://developer.sonymobile.com/wp/2010/05/18/android-one-finger-zoom-tutorial-part-1/

英语水平太菜、英文文献看的相当费劲啊....



热点排行