我想用
创建一个ViewPager
- 所选的中心项目比其他项目大
- 部分上一个和下一个项目始终可见。
我正在使用 viewPager.setPageMargin(-20);
使上一个和下一个项目的一部分可见。但是,如何使选定的中心项目比其他项目大一点。
最佳答案
您可以在 onPageSelected() 方法中将 Layout 参数设置为大 x%。
ViewPager pager ;
int prevIndex = 0;
int oldWidth, oldHeight,
//initialize these to be bigger than the old ones
newWidth, newHeight;
pager.setOnPageChangeListener(new OnPageChangeListener() {
public void onPageSelected(int index) {
// Set the layout params of the newly selected page to be the large width and height
View v = pager.getChildAt(index);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
newWidth, newHeight);
v.setLayoutParams(params);
// Don't forget to set the past view to the old layout params.
View oldV = pager.getChildAt(prevIndex);
RelativeLayout.LayoutParams oldParams = new RelativeLayout.LayoutParams(
oldWidth, oldHeight);
oldV.setLayoutParams(oldParams);
prevIndex = index;
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
关于中心项目更大的Android ViewPager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17437343/