簡體   English   中英

如何在ViewPager中隱藏和顯示視圖

[英]How to hide and show the view in ViewPager

我正在使用ViewPager逐一顯示一堆圖像。 通過參考此示例自定義ViewPager使用PagerContainer 。在ViewPager中默認有兩個圖像視圖,兩個圖像視圖都是可見的。但是我想在ViewPager中的selectedpage上不可見一個圖像視圖例如查看分頁器當前位置為2表示第二個位置的模糊圖像將變得不可見。在所有其他位置都可以看到模糊圖像。我不怎么做。任何人都可以幫助我解決這個問題。

查看尋呼機聲明

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);

頁面適配器

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

}
}

顯示圖像的數組,您可以動態添加/刪除要隱藏或顯示的圖像。

你的意思是這樣嗎? 在所選頁面上,ImageView變為不可見。 在這種情況下,ViewPager有4頁。

@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;

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM