您的位置:首页 > 其它

自定义锁屏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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: