浏览图片,点击放大liula

点击小图放大图片,就是把图片带到另一个页面进行放大浏览,

1.首先找到几张图片

2.在首页面加载一个RecyclerView 的布局控件 实现它的Adapter 让它以横向排列。在Adapter里面实现Itme的点击事件的实现方法,在Activity里面调用,点击跳转到另一个页面,需要传两个数据,图片的集合,和点击的图片位置。

mGrid = (RecyclerView) findViewById(R.id.rv);
girdAdapter = new RecyclerViewAdapter(this, imageIds);
mGrid.setLayoutManager(new GridLayoutManager(this, 3));
mGrid.setAdapter(girdAdapter);
girdAdapter.setOnItemClickListener(new RecyclerViewAdapter.OnItemClickListener() {
    @Override
    public void onItemClick(View view, int position) {
        Intent intent = new Intent(MainActivity.this, BrowserActivity.class);
        intent.putExtra("imgs", imageIds);
        intent.putExtra("pos", position);
        startActivity(intent);//选中图片
    }
});

3.在另一个页面加载一个ViewPager来实现图片的滑动和显示图片,然后下面显示一个图片总个数和当前浏览的第几个图片


4.在代码中加载控件,设置ViewPagerde的PagerApapter在Adapter的instantiateItme方法里实现图片的显示

@Override
public Object instantiateItem(ViewGroup container, int position) {//必须实现
    View view = LayoutInflater.from(context).inflate(R.layout.imageview,container,false);
    ImageView imageView = (ImageView) view.findViewById(R.id.img);
    imageView.setImageResource(imgs[position]);
    container.addView(view);
    return view;
}

5.吧ViewPager绑定Adapter实现ViewPager的滑动事件setOnPageChangeListener,来实现当前浏览的图片是第几张和义工的张数。

这是从上个页面传过来的数据在这页面就接收:

imgs = getIntent().getIntArrayExtra("imgs");
pos = getIntent().getIntExtra("pos", 0);
这是设置Adapter并且实现滑动事件显示个数
   imgAdapter = new ImgAdapter(this, imgs);
        mPager.setAdapter(imgAdapter);
        mPager.setCurrentItem(pos);//设置起始位置
        mPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                mNum.setText((position + 1) + "/" + imgs.length);//显示当前图片的位置
            }

            @Override
            public void onPageSelected(int position) {

            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
这里简单的实现了一个浏览图片的功能


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值