【问题标题】:Change fragment dimensions when selected in viewpager在 viewpager 中选择时更改片段尺寸
【发布时间】:2016-07-28 02:59:36
【问题描述】:

有没有办法增加当前片段的大小,然后在 ViewPager 中没有选择它时减小它?

【问题讨论】:

    标签: java android android-fragments android-viewpager layoutparams


    【解决方案1】:

    你要找的是ViewPager.PageTransformer

    使用PageTransformer,您可以在视图滑入视图时缩放视图。

    这是一个可以按照您想要的方式缩放的示例。试试这个开始:

        public static class PageTransformer implements ViewPager.PageTransformer {
            @Override
            public void transformPage(View page, float position) {
    
                // this part changes the scale, which is the zoom part
                page.setScaleX(1.0F - .33F * Math.abs(position));
                page.setScaleY(1.0F - .33F * Math.abs(position));
    
                // this part sets up so the page zooms from the center
                page.setPivotX(page.getWidth() / 2.0F);
                page.setPivotY(page.getHeight() / 2.0F);
            }
        }
    

    设置:

            viewPager.setPageTransformer(false, new PageTransformer());
    

    Customize the Animation with PageTransformer | Android Developers

    【讨论】:

    • 如果我不希望 Fragment 覆盖整个屏幕宽度怎么办?在这种情况下,左右片段也将可见并且大小相同!
    • 您是否使用FragmentPagerAdaptergetPageWidth() 不返回1.0?我无法通过您的图表判断片段的边界在哪里。尽管如此,PagerTransformer 也可以更改左右片段的大小,即使您的片段没有覆盖整个屏幕宽度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    • 2012-04-04
    相关资源
    最近更新 更多