我们在使用TextView,EditText等组件时,可以会有光标的显示,可以选择文本,拖动轨迹球,滚动,长按弹出菜单等操作,这些都是MovementMethod的作用。
MovementMethod是一个接口,提供了光标的位置、滚动以及文本的选择等操作。它会处理按键及Touch等操作。这个接口仅供系统调用。
先来看看这个接口里面有哪些方法。
//这里做一些初始化的工作
public void initialize(TextView widget, Spannable text);
//处理按键按下的事件
public boolean onKeyDown(TextView widget, Spannable text, int keyCode, KeyEvent event);
//处理按键抬起的事件
public boolean onKeyUp(TextView widget, Spannable text, int keyCode, KeyEvent event);
/**
* 如果按键监听者想处理一些其他类型的按键,返回true,
* 否则返回false,然后调用者(比如widget host)就会处理这个按键信息and the caller (i.e. the widget host).
*/
public boolean onKeyOther(TextView view, Spannabl