0

我无法使用 circlepageindicator 加载页面。这是xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:src="@drawable/bg2" android:layout_width="match_parent"
    android:layout_height="match_parent" />
<LinearLayout android:layout_width="220dp"
    android:orientation="vertical" android:layout_gravity="center_horizontal"
    android:layout_height="32dp" android:layout_marginTop="32dp">
    <android.support.v4.view.ViewPager
        android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/myfivepanelpager" />   

    <com.viewpagerindicator.CirclePageIndicator
    android:id="@+id/indicator"
    android:padding="10dip"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    />

</LinearLayout>

文件

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    MyPagerAdapter adapter=new MyPagerAdapter();
    ViewPager myPager=(ViewPager)findViewById(R.id.myfivepanelpager);
    myPager.setAdapter(adapter);
    myPager.setCurrentItem(2);

    CirclePageIndicator titleIndicator = (CirclePageIndicator)findViewById(R.id.indicator);
    titleIndicator.setViewPager(myPager);
}

jake wharton 项目已添加到库中。它在构建时没有给出任何错误,但没有加载页面。怎么了?

4

2 回答 2

8

ViewPager的设置match_parent将阻止容器中的任何其他视图显示。将ViewPager高度设置0dpandroid:layout_weight="1"

该容器也是硬编码的,32dp它非常小,可能无法舒适地容纳寻呼机和指示器。

于 2012-04-01T21:27:30.487 回答
3

缺少添加myIndicator.onPageScrolled(myViewPager.getCurrentItem(), 0, 0);也可能导致 CirclePageIndicator 不工作。

例如:myViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { myIndicator.onPageScrolled(myViewPager.getCurrentItem(), 0, 0); } });

于 2016-07-29T18:39:07.143 回答