Drawerlayout展开卡顿问题处理
2017-08-02 本文已影响155人
1琥珀川1
问题背景
在做筛选需求是类似淘宝效果,由于我们的布局有些复杂导致drawerlayout展开时会出现卡顿问题
解决方案
基于上篇Activity跳转动画跳转时机分析,我们可以发现问什么activity跳转的时候不管view多复杂,activity跳转动画都没有出现卡顿问题。主要是由于activity将view的计算流程完毕,在perdraw的时候执行跳转动画,其实对于drawerlayout的展开问题我们也可以这么做。
基于这个原理,伪代码如下
/***
* 处理drawablelayout第一次卡顿问题
*/
mDrawerRight.addView(mCustomView);
mDrawerRight.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
mDrawerRight.getViewTreeObserver().removeOnPreDrawListener(this);
openDrawer();
return false;
}
});