Android - 使用Jack Wharton的ViewPagerIndicator时未显示任何指示

时间:2013-05-20 17:22:56

标签: android android-viewpager viewpagerindicator

我正在努力理解使用杰克沃顿的ViewPagerIndicator的正确方法。所以这就是我在布局中所拥有的:

(continued from above)
<com.viewpagerindicator.TabPageIndicator
        android:id="@+id/indicator"
        android:padding="10dp"
        android:background="@drawable/tab_indicator_ab_eateries"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        />
    <android.support.v4.view.ViewPager
           android:id="@+id/viewpager"
           android:layout_width="fill_parent"
           android:layout_height="0dp"
           android:layout_weight="1">

    </android.support.v4.view.ViewPager>

这就是我在我的代码中使用它的方式:

mPager = (ViewPager) app.findViewById(R.id.viewpager);

        List<Fragment> fragments = new Vector<Fragment>();
        fragments.add(Fragment.instantiate(this, PlaceInfoFragment.class.getName()));
        fragments.add(Fragment.instantiate(this, PlaceMenuFragment.class.getName()));
        fragments.add(Fragment.instantiate(this, LocationFragment.class.getName()));
        fragments.add(Fragment.instantiate(this, ReviewFragment.class.getName()));
        fragments.add(Fragment.instantiate(this, PhotoFragment.class.getName()));
        PageAdapter mPageAdapter = new PageAdapter(getSupportFragmentManager(), fragments, this);
        mPager.setAdapter(mPageAdapter);

        TabPageIndicator indicator = (TabPageIndicator) app.findViewById(R.id.indicator);
        indicator.setViewPager(mPager);
        indicator.setOnPageChangeListener(
                new ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {
                        // When swiping between pages, select the
                        // corresponding tab.
                        super.onPageSelected(position);
                    }
            });

显然我错过了一些重要的东西,因为这是我得到的结果:

enter image description here

因此,您可以在捕获中看到标题被保留为对齐(而我希望它们在每个标签中居中),并且没有显示指示符。我应该在代码中添加什么才能使其工作?我研究了给定的示例,但我发现SampleTabsDefaultSampleTabsStyled类的代码没有任何区别。所以,如果你们之前有人使用过这个,请帮帮我,谢谢。

1 个答案:

答案 0 :(得分:1)

在你的清单中,你使用android:theme =“@ style / Theme.PageIndicatorDefaults”作为你活动的主题吗?

https://github.com/JakeWharton/Android-ViewPagerIndicator/blob/master/sample/AndroidManifest.xml

    <activity
        android:name=".SampleTabsDefault"
        android:label="Tabs/Default"
        android:theme="@style/Theme.PageIndicatorDefaults">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="com.jakewharton.android.viewpagerindicator.sample.SAMPLE" />
        </intent-filter>
    </activity>