自定义锁屏demo之滑动解锁
2012-09-26 23:00
225 查看
1.有两种方式实现滑动解锁,一种是在ACTION_MOVE事件发生时不断重绘需要滑动的按钮,重绘的x坐标为当前ACTION_MOVE事件的x坐标,这种方式下,如果接收ACTION_MOVE事件的viewgroup中有子view跟需要滑动的按钮位置重叠,则会遮挡住按钮。
一种方式是使用view的scrollto方法,把需要滑动的按钮所在view跟随ACTION_MOVE事件一起移动。
2.响应ACTION_MOVE事件并移动view时要注意,响应到的事件是采样的,不是每个经过的点都会响应,所以如果要判断如果滑动到右边界就不滑动,这样写的话:
case MotionEvent.ACTION_MOVE:
if(x < 右边界x坐标)
{
滑动到x
}
如果滑动得快的话,可能采集到的点很少,会导致滑不到边界, 比如ACTION_MOVE采集点只有起点,中点和超过右边界的点,那么按钮滑动到中点就不会继续滑动了
应该这样写
if(x>右边界x坐标)
{
x = 右边界x坐标;
滑动到x;
}
3.onTouchEvent(MotionEvent event)中event的坐标点起始在接收event的view的边界,而不是整个屏幕的边界
4.view的getLeft()和getRight得到的值是相对于父viewgroup边界的偏移值:
position of this view relative to its parent
一种方式是使用view的scrollto方法,把需要滑动的按钮所在view跟随ACTION_MOVE事件一起移动。
2.响应ACTION_MOVE事件并移动view时要注意,响应到的事件是采样的,不是每个经过的点都会响应,所以如果要判断如果滑动到右边界就不滑动,这样写的话:
case MotionEvent.ACTION_MOVE:
if(x < 右边界x坐标)
{
滑动到x
}
如果滑动得快的话,可能采集到的点很少,会导致滑不到边界, 比如ACTION_MOVE采集点只有起点,中点和超过右边界的点,那么按钮滑动到中点就不会继续滑动了
应该这样写
if(x>右边界x坐标)
{
x = 右边界x坐标;
滑动到x;
}
3.onTouchEvent(MotionEvent event)中event的坐标点起始在接收event的view的边界,而不是整个屏幕的边界
4.view的getLeft()和getRight得到的值是相对于父viewgroup边界的偏移值:
position of this view relative to its parent
相关文章推荐
- 自定义锁屏demo之滑动解锁
- Android学习 - 自定义锁屏demo之滑动解锁
- 自定义锁屏demo之基本原理
- Android自定义控件之滑动解锁
- android解锁界面,插上USB弹出打开USB存储设置界面,按HOME键/返回键直接回到launcher,而非滑动锁屏界面
- 自定义锁屏demo之基本原理
- Android自定义锁屏实现----仿正点闹钟滑屏解锁
- Android入门-ListView-自定义adapter和滑动解锁
- Android 不锁屏(按power键不用滑动解锁,直接显示桌面)
- 4.2 锁屏界面 滑动解锁 降低灵敏度
- Android自定义控件之滑动解锁九宫格
- 自定义锁屏demo之按键屏蔽等其他细节
- Android自定义锁屏实现----仿正点闹钟滑屏解锁
- 自定义手指滑动解锁
- 自定义View之滑动解锁
- 自定义锁屏demo之按键屏蔽等其他细节
- Android自定义滑动解锁控件使用详解
- Android自定义锁屏实现----仿正点闹钟滑屏解锁
- Android开发进阶自定义控件之滑动开关实现方法【附demo源码下载】
- Android L上锁屏界面滑动不解锁