bou*_*rne 2 android carousel infinite-carousel listview-adapter fragmentstatepageradapter
我是android的新手,我正在尝试在android中创建一个旋转木马.我的班级结构如下
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);
}
Run Code Online (Sandbox Code Playgroud)
...
public class MyPageAdapter extends FragmentStatePagerAdapter {
@Override
public ImageFragment getItem(int position) {
...
return fragment;
}
@Override
public int getCount() {
return 10;
}
}
Run Code Online (Sandbox Code Playgroud)
现在我的程序工作正常,我可以通过向左或向右滑动来获取10个可以访问的片段.但我希望将这10个片段显示为轮播,以便用户更好地了解当前位置的左侧或右侧有更多碎片.
有人可以告诉我我该怎么做.
我确实使用PageContainer找到了这个url ViewPager轮播,而不是使用FragmentPagerAdapter,但对于像我这样的初学者来说,没有太多信息.
对于遇到此问题的其他人,我使用此代码来实现非常好的效果.
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));
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7646 次 |
| 最近记录: |