2

我是新來的android和我想在android中創建一個傳送帶。 我的類結構圖如下如何使用viewpager和fragmentStatePager適配器創建傳送帶

public class PageViewActivity extends FragmentActivity { 

    ViewPager pager; 
    ... 

    public void onCreate(Bundle savedInstanceState) { 
     final ViewPager pager = (ViewPager) findViewById(R.id.pager); 
     MyPageAdapter pageAdapter = new MyPageAdapter(getSupportFragmentManager(),getBaseContext()); 
     pager.setAdapter(pageAdapter); 
    } 

...

public class MyPageAdapter extends FragmentStatePagerAdapter { 

    @Override 
    public ImageFragment getItem(int position) { 
     ... 
     return fragment; 
    } 

    @Override 
    public int getCount() { 
     return 10; 
    } 
} 

現在我的程序工作正常,我能夠把弄,我可以通過向左或向右滑動進入10個片段。但我想將這10個片段顯示爲旋轉木馬,以便用戶更好地瞭解當前位置左側或右側有更多片段。

有人可以告訴我我該怎麼做。

我的確發現了這個網址ViewPager carousel using PageContainer not working with FragmentPagerAdapter,但是對於像我這樣的初學者來說沒有太多的信息。

回答

0

嘿不能確定它是否是一個妥善的解決辦法或沒有,但我只是增加了一個行

pager.setPageMargin(getResources().getDisplayMetrics().widthPixels /-7); 

,現在我的視圖顯示了左側和右側片段的部分也

1

您可以從Gamma Developer指南中獲得幫助以製作輪播。

這裏是link

+0

謝謝Sunil,但我寧願實現我自己的輪播,從頭開始,但感謝反正共享鏈接 – bourne

4

對於遇到此問題的其他人,我使用此代碼實現了相當不錯的效果。

pager.setPageMargin((int) (getResources().getDisplayMetrics().widthPixels * -0.33)); 
pager.setOffscreenPageLimit(5); 
pager.setPageTransformer(false, new ViewPager.PageTransformer() { 
    @Override public void transformPage(View page, float position) { 
     page.setScaleX(0.7f - Math.abs(position * 0.4f)); 
     page.setScaleY(0.8f - Math.abs(position * 0.6f)); 
     page.setAlpha(1.0f - Math.abs(position * 0.5f)); 
    } 
}); 
相關問題