简体   繁体   English

在viewpager中选择时更改片段尺寸

[英]Change fragment dimensions when selected in viewpager

Is there a way to increase the size of the current fragment and then reducing it back when its not selected in a ViewPager? 有没有一种方法可以增加当前片段的大小,然后在未在ViewPager中选择它时将其减小呢?

在此处输入图片说明

在此处输入图片说明

What you are looking for is ViewPager.PageTransformer . 您正在寻找的是ViewPager.PageTransformer

With a PageTransformer , you can zoom the View as it is being swiped into view. 使用PageTransformer ,可以在将视图滑动到视图中时对其进行缩放。

Here's an example of one that will zoom the way you want. 这是一个示例,它将以您想要的方式缩放。 Try this to start: 试试这个开始:

    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);
        }
    }

To set it up: 进行设置:

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

Customize the Animation with PageTransformer | 使用PageTransformer自定义动画| Android Developers Android开发人员

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM