Invece di spiegare la questione, molto più facile se ho appena vi mostro:Lo stile predefinito non riesce per ViewPagerIndicator's TabPageIndicator. Perché e come risolvere?
Come si può vedere i titoli delle schede sono tutte schiacciate insieme e del tutto senza stile. Funzionano correttamente in quella scorrendo attraverso le schede degli interruttori (sebbene non ci sia un'indicazione visibile eccetto il cambio di posizione dove appropriato) e toccando una scheda si cambia la vista, ma manca tutto lo stile. Ecco il codice:
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)
}
}
Questo è tutto. Ora, a meno che non sia molto confuso nonostante la lettura della documentazione e l'esame degli esempi, non dovrei fare ulteriori passi per usare lo stile predefinito. Sono un po 'in perdita.
Agggh, ho avuto questa scheda aperta ma mai letto! Alla fine ho pensato a me stesso, ma avrei potuto risparmiare tempo. – georgiecasey