android - ViewPager每次notifyDataSetChanged之后,所设置的PageTransformer显示就出问题?
怪我咯
怪我咯 2017-04-17 16:59:55
[Android讨论组]

第一次setPageTransformer之后可以正常使用,但是当notifyDataSetChanged之后,其显示就有问题。但是只要viewpager一滑动,PageTransformer的效果就有了。
正常情况下我设置的PageTransformer是这样的,两边没有显示的比较小,而当前位置的显示大:

但是当notifyDataSetChanged之后,显示效果成这个样子了:

不过只要有滑动,显示效果又没问题了。

这是个什么情况,要如何notifyDataSetChanged之后就可以显示PageTransformer的效果?
下面是我的PageTransformer的代码(个人感觉这个代码是没有问题的):

 private class Transformer implements ViewPager.PageTransformer {

        private final float MIN_SCALE = 0.8f;
        @Override
        public void transformPage(View page, float position) {
            if(position >= -1 && position <= 1) {
                page.setScaleX(1.0f - Math.abs(position) * (1 - MIN_SCALE));
                page.setScaleY(1.0f - Math.abs(position) * (1 - MIN_SCALE));
            } else {
                page.setScaleX(MIN_SCALE);
                page.setScaleY(MIN_SCALE);
            }
        }
    }
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(5)
怪我咯

我的没问题啊 。 你是如何notifyDataSetChanged的?

PHPz

楼主解决了吗?

ringa_lee

楼主问题解决了吗? 我的也出现这个情况了

高洛峰

楼主解决了吗?现在也遇到这个问题。通过下面的这样的方式解决的,感觉很蠢
mViewPager.setCurrentItem(1);
mViewPager.setCurrentItem(0);
mViewPager.invalidate();

阿神

重新setAdapter

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号