您的位置:首页 > 移动开发 > Android开发

android statusbar expand 条解析

2013-11-05 16:42 169 查看
关键算法在函数 void updateExpandedViewPos(int expandedPosition) ,不断更新trackingview的Y坐标。

刚开始的时候设置 mExpandedParams.y 为trackingView 的最大负值,在更新的时候不断的改变当前的Y坐标,从而更新VIEW 的位置。

mExpandedParams.y = pos + mTrackingView.getHeight()

- (mTrackingParams.height-closePos) - contentsBottom;

pos为trackingView的最底端,最大不超过statusbar的位置,当到达statusbar的最下面位置时,statusbar expand 完全展开.

mTrackingView.getHeight() 为一个定值,即trackingView的高度, 和mTrackingParams.height 为同一个值。

contentsBottom如下得来,为当前已经展开的内容的高度

if(mShowQuickToggleExt)

mQuickToggleExt.getLocationInWindow(mPositionTmp);

else

mExpandedContents.getLocationInWindow(mPositionTmp);

final int contentsBottom = mPositionTmp[1] + mExpandedContents.getHeight();

在 doRevealAnimation 函数中不断地调用上面的函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: