Java 具有更改图像的ViewPager中的动画幻灯片
我将创建如下滑块: 我没有麻烦创建一个活动来完成这些事情,我的问题是我不能为底部的图像(小圆圈)创建动画。我已经对此进行了测试,但它会变慢:Java 具有更改图像的ViewPager中的动画幻灯片,java,android,android-viewpager,slider,Java,Android,Android Viewpager,Slider,我将创建如下滑块: 我没有麻烦创建一个活动来完成这些事情,我的问题是我不能为底部的图像(小圆圈)创建动画。我已经对此进行了测试,但它会变慢: @Override public Fragment getItem(int position) { ScreenSlidePageFragment fragment = new ScreenSlidePageFragment(); Bundle args = new Bundle(); args.p
@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
:
它易于使用,例如:
在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" />
该库中有很多不同的指示器,您可以尝试所有这些指示器,并选择您想要的任何指示器
只需将这一行添加到您的
build.gradle
:compile'com.viewpagerindicator:library:2.4。1@aar“
非常感谢,它很有效。我在编译这个库时遇到了一些问题,但这篇文章帮助了我:@FabioPiunti对不起,忘了这一点,我很高兴能解决你的问题
circlePageIndicator=(CirclePageIndicator)findViewById(R.id.indicator);
circlePageIndicator.setViewPager(viewpager);