概述
关键算法在函数 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 函数中不断地调用上面的函数。
最后
以上就是坚定大叔为你收集整理的android statusbar expand 条解析的全部内容,希望文章能够帮你解决android statusbar expand 条解析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复