![](/img/trans.png)
[英]How to show and hide a view on header without affecting the below 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.