2014-04-23 9 views
15

Ich benutze ViewPageIndicator, speziell CirclePageIndictor in meiner Android-Anwendung. Voraussetzung ist, dass der fillColor wird direkt zum nächsten Kreis in der Anzeige bewegen, ohne die Situation wie dieser auf dem Bild (der Kreis bewegt sich langsam und bleibt in der Mitte, während Paging)Circle Page Indicator - Wie ändere ich die Füllfarbe ändern

Wie kann ich dies tun ?

+0

Sie Lösung gefunden? Ich habe diesen Effekt nicht mit 'vpi: snap =" true "' oder 'vpi.setSnap (true);' –

Antwort

5

das Snap-Attribut auf true gesetzt.

vpi:snap="true" 

oder

vpi.setSnap(true); 
+0

Perfect.Thanx :) – user3414081

+1

wo soll ich das einstellen? In meinem Fall ändert sich der Indikator nicht, während ich die Seite ändere, aber der Inhalt meiner Seite ändert sich. –

3
final CirclePageIndicator circleIndicator = (CirclePageIndicator) findViewById(R.id.indicator); 
    circleIndicator.setViewPager(_pager); 
    final float density = getResources().getDisplayMetrics().density; 
    circleIndicator.setFillColor(0xFFFFFFFF); 
    circleIndicator.setStrokeColor(0xFFFFFFFF); 
    circleIndicator.setStrokeWidth(1); 
    circleIndicator.setRadius(6 * density); 
35

können Sie versuchen, diese auf Ihrem xml:

<com.viewpagerindicator.CirclePageIndicator 
     android:id="@+id/indicator" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:padding="10dip" 
     app:radius="12dp" 
     app:fillColor="@color/header_bg_color" 
     app:pageColor="#ffffff" 
     app:strokeColor="@color/header_bg_color"/> 

und vergessen Sie nicht xmlns hinzuzufügen: app = "http: // Schemas .android.com/apk/res-auto "auf Ihrem Layout. Z. B

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager" 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     /> 

    <com.viewpagerindicator.CirclePageIndicator 
      android:id="@+id/indicator" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:padding="10dip" 
      app:radius="12dp" 
      app:fillColor="@color/header_bg_color" 
      app:pageColor="#ffffff" 
      app:strokeColor="@color/header_bg_color"/> 

</LinearLayout> 
+0

Ich habe versucht, aber immer noch Standardfarbe auf andere Weise anzuzeigen? –

2

try App: Snap = "true"

<com.viewpagerindicator.CirclePageIndicator 
      android:id="@+id/indicator" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      app:snap="true"/>