2012-04-01 67 views
0

Im無法使用circlepageindicator加載頁面。這是XMLAndroid CirclePageIndicator無法正常工作

<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); 
} 

傑克沃頓商學院項目已被添加到庫中。它不會在構建時給出任何錯誤,但不會加載頁面。怎麼了?

回答

8

您的ViewPager設置爲match_parent這將阻止顯示容器中的任何其他視圖。使用android:layout_weight="1"ViewPager高度設置爲0dp

該容器也被硬編碼爲32dp,它極其微小,可能不會同時保持尋呼機和指示器舒適。

+0

它不是該circlepageindicator丟失,網頁本身沒有加載。它再次意外停止。 – JaseemAmeer 2012-04-02 05:48:03

+0

我已經在java buildpath中添加了ur庫項目。但是在xml的設計中,circlepageindicator仍然顯示在灰色框中。 – JaseemAmeer 2012-04-02 05:58:53

+3

您必須將其添加爲「Android」設置下的庫項目,而不是通過Java構建路徑。 – 2012-04-02 19:18:19

2

缺少添加myIndicator.onPageScrolled(myViewPager.getCurrentItem(), 0, 0);也可能導致CirclePageIndicator無法正常工作。

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