问题
I want to create a ViewPager with
- The selected center item being bigger than others
- Portion of Previous & Next items being always visible.
I am using viewPager.setPageMargin(-20);
to make portion of Previous & Next items visible. But, how to make selected center item little bit bigger than other items.
回答1:
you can set the Layout parameters to be x% bigger in the onPageSelected() method.
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
}
});
来源:https://stackoverflow.com/questions/17437343/android-viewpager-with-center-item-bigger