动画在 ViewPager 中滑动,图像发生变化

Animation slidin ViewPager with image that change

我会像这样创建一个滑块: THIS

我很容易创建一个 activity 来执行此操作,我的问题是我无法为底部的图像(小圆圈)创建动画。我已经测试过了,但是速度很慢:

@Override
    public Fragment getItem(int position) {
        ScreenSlidePageFragment fragment = new ScreenSlidePageFragment();
        Bundle args = new Bundle();
        args.putInt("key", position);
        fragment.setArguments(args);

        switch (position){
            case 0:
                findViewById(R.id.btnFirstSlide).setVisibility(View.VISIBLE);
                findViewById(R.id.btnSecondSlide).setVisibility(View.INVISIBLE);
                findViewById(R.id.btnThirdSlide).setVisibility(View.INVISIBLE);
                break;
            case 1:
                findViewById(R.id.btnFirstSlide).setVisibility(View.INVISIBLE);
                findViewById(R.id.btnSecondSlide).setVisibility(View.VISIBLE);
                findViewById(R.id.btnThirdSlide).setVisibility(View.INVISIBLE);
                break;
            case 2:
                findViewById(R.id.btnFirstSlide).setVisibility(View.INVISIBLE);
                findViewById(R.id.btnSecondSlide).setVisibility(View.INVISIBLE);
                findViewById(R.id.btnThirdSlide).setVisibility(View.VISIBLE);
                break;

        }

        return fragment;
    }

什么是好的解决方案?

你看到了吗ViewPagerIndicator : JakeWharton/ViewPagerIndicator

它易于使用,如:

在xml中:

<com.viewpagerindicator.CirclePageIndicator
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/indicator"
    android:padding="20dip"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    app:centered="true"
    app:fillColor="@color/ColorPrimary"
    app:pageColor="@color/Transparent"
    app:radius="7dp"
    app:snap="false"
    app:strokeColor="@color/White"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

在您的代码中:

circlePageIndicator=(CirclePageIndicator)findViewById(R.id.indicator);
circlePageIndicator.setViewPager(viewpager);

该库中有很多不同的指标,您可以尝试所有指标,然后选择您想要的任何指标。

只需将此行添加到您的 build.gradle 中:compile 'com.viewpagerindicator:library:2.4.1@aar'