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 函数中不断地调用上面的函数。
刚开始的时候设置 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 函数中不断地调用上面的函数。
相关文章推荐
- (2017)Android技能状态栏(StatusBar)解析
- Android解析如何获取SDCard 内存
- Android布局之Layout_weight属性解析
- android中解析复杂xml(XStream简单使用)
- 爱加密Android APk 原理解析
- Android 6.0启动过程详细解析
- 系统入门(5):Android 源码解析 之 setContentView
- Android Fragment 完全解析(下)
- Android--hw_get_module解析
- Android如何解析Intent
- Android的init过程(二):初始化语言(init.rc)解析
- Android 开源项目android-open-project解析之(二) GridView,ImageView,ProgressBar,TextView
- Android RecyclerView 使用完全解析 体验艺术般的控件
- Android 开源项目android-open-project工具库解析之(一) 依赖注入,图片缓存,网络相关,数据库orm工具包,Android公共库
- Android IntentService完全解析 当Service遇到Handler
- Android属性动画完全解析(三)-Interpolator和ViewPropertyAnimator的用法
- Android Wi-Fi EAP-SIM代码解析
- Android setContentView()源码解析
- Android RecyclerView 使用完全解析 体验艺术般的控件
- Android OkHttp 的源码解析 (一) 同步解析