简体   繁体   中英

How to hide and show the view in ViewPager

Am using ViewPager to show bunch of images by one by one.Am customize the ViewPager use PagerContainer by refer this example .In ViewPager have two image view in default the both image view are visible.But i want to invisible one image view onselectedpage in ViewPager.For example view pager current position in 2 means the blur image in 2nd position is going to invisible.in all other position the blur image is visible.I don't how to do.Can any one know help me to solve this issue.

View Pager Declaration

ema = new Executive_member_adapter(getActivity());

executive_cont = (PagerContainer)findViewById(R.id.executive_memeber_container);
executive_members = executive_cont.getViewPager();

executive_members.setAdapter(ema);
executive_members.setOffscreenPageLimit(ema.getCount());

executive_members.setPageMargin(15);
executive_members.setClipChildren(false);
executive_members.setOnPageChangeListener(ema);

PagerAdapter

public class Executive_member_adapter  extends PagerAdapter implements OnPageChangeListener{

LayoutInflater inflater;
Activity activity;

ImageView members_img,blur_img;

int photos[] = {R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,R.drawable.pic4,R.drawable.pic5,R.drawable.pick6};

public Executive_member_adapter(Activity activity) {
    // TODO Auto-generated constructor stub

    this.inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return photos.length;
}

@Override
public boolean isViewFromObject(View view, Object object) {
    // TODO Auto-generated method stub
    return view == ((RelativeLayout) object);
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {

   ((ViewPager) container).removeView((View)object);
}

@Override
public Object instantiateItem(final ViewGroup container, final int position) {

    View itemView;
    itemView = inflater.inflate(R.layout.executive_members_pic, container, false);

    members_img = (ImageView)itemView.findViewById(R.id.memebers_image);
    members_img.setBackgroundResource(photos[position]);

   blur_img = (ImageView)itemView.findViewById(R.id.blur_image);

    ((ViewPager) container).addView(itemView);

    return itemView;
}

@Override
public void onPageScrollStateChanged(int position) {
    // TODO Auto-generated method stub

}

@Override
public void onPageScrolled(int position, float arg1, int arg2) {
    // TODO Auto-generated method stub

}

@Override
public void onPageSelected(int position) {
    // TODO Auto-generated method stub

}
}

显示图像的数组,您可以动态添加/删除要隐藏或显示的图像。

Dit you mean something like this? On the selected page a ImageView becomes invisible. In this case the ViewPager got 4 pages.

@Override
    public void onPageSelected(int position) {
        switch (position) {
        case 0:
            blur_img.setVisibility(ImageView.VISIBLE);
            break;
        case 1:
            blur_img.setVisibility(ImageView.GONE);
            break;
        case 2:
            blur_img.setVisibility(ImageView.VISIBLE);
            break;
        case 3:
            blur_img.setVisibility(ImageView.VISIBLE);
            break;

    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM