En lugar de explicar la cuestión, mucho más fácil si sólo te muestro:El estilo predeterminado falla para el TabPageIndicator de ViewPagerIndicator. ¿Por qué y cómo solucionarlo?
Como se puede ver los títulos de las fichas están aplastados juntos y completamente sin estilo. Funcionan correctamente al pasar por las pestañas de los interruptores (aunque no hay indicación visible, excepto cuando se cambia de posición, según corresponda) y al tocar una pestaña, cambia la vista, pero falta todo el estilo. Aquí está el código:
gallerylists.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<com.viewpagerindicator.TabPageIndicator
android:id="@+id/indicator"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<android.support.v4.view.ViewPager
android:id="@+id/gallerypager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
GalleryLists.java
public class GalleryLists extends Activity {
Context context;
private static final String[] titles = new String[] {
"20 Hottest", "20 Worst", "20 Awesomest", "MMA", "Comedy", "Moto", "Games" };
ViewPager listPager;
ListPagerAdapter listPagerAdapter;
PageIndicator indicator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gallerylists);
context = this;
listPagerAdapter = new ListPagerAdapter();
ViewPager.OnPageChangeListener changeListener = new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {}
@Override
public void onPageSelected(int i) {}
@Override
public void onPageScrollStateChanged(int i) {}
};
listPager = (ViewPager) findViewById(R.id.gallerypager);
listPager.setAdapter(listPagerAdapter);
listPager.setOnPageChangeListener(changeListener);
indicator = (TabPageIndicator) findViewById(R.id.indicator);
indicator.setViewPager(listPager);
indicator.setOnPageChangeListener(changeListener);
}
private class ListPagerAdapter extends PagerAdapter {
// Not important (I believe)
}
}
Eso es todo. Ahora, a menos que esté muy confundido a pesar de leer la documentación y examinar las muestras, no debería tener que tomar pasos adicionales para usar el estilo predeterminado. Estoy un poco perdido.
Agggh, ¡tenía esta pestaña abierta pero nunca la leí! Finalmente me imaginé el tema, pero podría haber ahorrado tiempo. – georgiecasey