我无法使用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>
java文件
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);
}
杰克沃顿项目已被添加到图书馆。它在构建时不会产生任何错误,但不会加载页面。怎么了?
答案 0 :(得分:8)
您的ViewPager
设置为match_parent
,这会阻止容器中的任何其他视图显示。使用ViewPager
将0dp
高度设置为android:layout_weight="1"
。
容器也被硬编码为32dp
,这是非常小的,并且可能不会舒适地保持寻呼机和指示器。
答案 1 :(得分: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);
}
});