基于ViewPager实现大量图片浏览功能

1.      了解一下ViewPager的执行原理,写的很详细可参考

http://blog.csdn.net/ddtou/article/details/21244879

2、主要代码

/**
 * 确认View与实例对象是否相互对应。ViewPager内部用于获取View对应的ItemInfo。
 *
 * @param view   ViewPager显示的View内容
 * @param object 在instantiateItem中提交给ViewPager进行保存的实例对象
 * @return 是否相互对应
 */
@Override /**代表了当前的页面是否与给定的键相关联。 */
public boolean isViewFromObject(View view, Object object) {
    return view == object;
}

/**
 * 为给定的位置创建相应的View。创建View之后,需要在该方法中自行添加到container中。
 *
 * @param container ViewPager本身
 * @param position  给定的位置
 * @return 提交给ViewPager进行保存的实例对象
 */
@Override
public Object instantiateItem(ViewGroup container, int position) {
    ImageView imageView;
    /** 每次初始化前中后三个view,量多的时候可以通过这里来控制,每次都根据paths.get(position)重新生成view*/
    /** imageView的生成通过实时创建view来处理*/
    container.addView(imageView, 0);//添加页卡
    return imageView;
}
/**
 * 为给定的位置移除相应的View。只是解除了和ViewPager的关联关系即从父视图上移除子视图并没有回收view视图
 *
 * @param container ViewPager本身
 * @param position  给定的位置
 * @param object    在instantiateItem中提交给ViewPager进行保存的实例对象
 */
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
    container.removeView((ImageView)object);
    ((ImageView) object).setImageBitmap(null);
}
 

参考1参考2


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值