WCViewPagerIndicators
Es una libreria android que permite a los desarrolladores tener un viewpager con el atributo layout_height="wrap_content", ademas de incluir en la parte inferior un indicador de paginas (API 16 o superior)..
Live demo
usted puede ver una aplicacion demo en el siguiente enlace https://appetize.io/app/3ee65vjy0rkn8p3xph7aytbh4g
Capturas de pantalla
demo 1 | demo 2 | demo 3 |
---|---|---|
Instalación
Este proyecto fue modificado y mejorado en (ingrese con su cuenta de google para observar la demo) https://github.com/MorochoRochaDarwin/mr-teacher
IMporte el modulo de la libreria a su proyecto android
Agregar la vista a su Layout
<com.darwindeveloper.wcviewpager.WCViewPagerIndicator
android:id="@+id/wcviewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
Diseño completo
<com.darwindeveloper.wcviewpager.WCViewPagerIndicator
android:id="@+id/wcviewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:indicatorSelectedColor="@color/colorPrimary"
app:indicatorsColor="#d2d2d2"
app:numberSelectedColor="#fff"
app:numbersColor="@color/colorPrimary"
app:showNumbers="true" />
En sus Actividades o Fragments
Inicialice la vista y capture los cambios en el viewpager
//inicializamos la vista
final WCViewPagerIndicator wcViewPagerIndicator = (WCViewPagerIndicator) findViewById(R.id.wcviewpager);
//creamos un nuevo adpater
ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
wcViewPagerIndicator.setAdapter(viewPagerAdapter);
//aplicamos el adapter
//obtenemos el viewpager y capturamos sus cambios en tiempo de ejecucuion
wcViewPagerIndicator.getViewPager().addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
//NOTA: las posiciones del viewpager inician en 0
//cambiamos el indicador a la posicion del viewpager
wcViewPagerIndicator.setSelectedindicator(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
}
);
Vea el ejemplo de muestra para mayor información