Android杂笔 事件处理
1.事件监听类:内部类,外部类,Activity,匿名内部类,直接绑定到标签
重点说一下直接绑定到标签的用法
对于很多android界面组件标签而言,他们都支持onclick,onlongclick等属性,这种属性的属性值就是一个形如xxx(View source)的方法的方法名,然后在该界面布局对应的Activity中定义一个对应的方法,该方法负责处理该控件上的对应事件
监听类用的最多的是匿名内部类
2.回调机制
对于回调的事件处理模型来说,事件源和事件监听器是统一的,或者是事件监听器完全消失,当用户在GUI组件上激发某个事件时,组件自己特定的方法将会负责处理该事件,我们无法为某个对象动态的添加方法,因此只能继承GUI组件类,并重写该类的事件处理方法来实现
基于回调的事件传播:几乎所有基于回调的事件处理方法都有一个boolean类型的返回值,该返回值用于标识该处理方法是否能完全处理该事件,如果,返回值为true,则表明已经完全处理,如果为false,则表示没有完全处理,会传播出去,可能调用其他的组件的该类方法
3,重绘
复写View类的ondraw方法,可以通过调用view.invalidate方法来自动调用ondraw方法
4.响应的系统设置的事件
Configuration类,程序可以通过getResouces().getConfiguration()来获取系统的configuration对象,一旦获得了对象,该对象提供了一些常用的属性来获取系统的配置信息
重写onconfigurationchanged响应系统设置更改
在系统设置发生变化的时候会自动调用该回调方法//但是,实际用的时候,这个方法没有调用。。。。,不知道为啥
Activity.setRequestOrientaiton(AcitivityInfo.****);该方法可以更改手机的方向设置,但是要在Mainfest.xml进行设置,获得权限