2016-07-01 15 views
1
ändern

i einen Schieber wie dies schaffen würde: THISAnimation, slidin ViewPager mit Bild, das

Ich habe Probleme nicht eine Aktivität zu erstellen, die diese Dinge tun, mein Problem ist, dass ich nicht die Animation erstellen kann die Bilder (der kleine Kreis), die auf der Unterseite sind. Ich habe dies getestet, aber es ist zu langsam:

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

Was kann eine nette Lösung sein?

Antwort

1

Sahen Sie ViewPagerIndicator: JakeWharton/ViewPagerIndicator

Es ist einfach zu verwenden wie:

In 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" /> 

Und in Ihrem Code:

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

Es so ist viele verschiedene Indikatoren in dieser Bibliothek können Sie alle ausprobieren und wähle was du willst.

einfach diese Zeile in Ihre build.gradle: compile 'com.viewpagerindicator:library:[email protected]'

+0

Perfekt Dank, es funktioniert. Ich hatte Probleme mit der Kompilierung der Bibliothek, aber dieser Beitrag hat mir geholfen: http://StackOverflow.com/A/26817056/5310572 –

+1

@FabioPiunti Entschuldigen Sie diesen Punkt, ich bin froh, Ihr Problem zu beheben –