viewpager setPageTransformer引起的bug

最近项目中遇到的一个问题,viewpager+fragment,fragment滑动后,fragment上控件(例如button,textview)点击事件setColor,setBackground等设置UI没有立即刷新显示。

问题的原因在于:

viewpager.setPageTransformer(false, new ZoomOutPageTransformer());

源码中setPageTransformer默认开启了硬件加速

public void setPageTransformer(boolean reverseDrawingOrder, PageTransformer transformer) {
        setPageTransformer(reverseDrawingOrder, transformer, ViewCompat.LAYER_TYPE_HARDWARE);
}

关闭硬件加速就可以了:

viewpager.setPageTransformer(false, new ZoomOutPageTransformer(), ViewCompat.LAYER_TYPE_NONE);

你可能感兴趣的:(viewpager setPageTransformer引起的bug)