android模仿朋友圈点击图片放大,Android 使用 transferee 模仿朋友圈查看图片效果放大图片,左右滑动...

package com.hitomi.transferimage.activity.glide;

import android.view.View;

import android.widget.GridView;

import android.widget.ImageView;

import android.widget.Toast;

import com.bumptech.glide.Glide;

import com.bumptech.glide.request.RequestOptions;

import com.hitomi.tilibrary.style.index.NumberIndexIndicator;

import com.hitomi.tilibrary.style.progress.ProgressPieIndicator;

import com.hitomi.tilibrary.transfer.TransferConfig;

import com.hitomi.tilibrary.transfer.Transferee;

import com.hitomi.transferimage.R;

import com.hitomi.transferimage.activity.BaseActivity;

import com.wepie.glide4loader.Glide4ImageLoader;

import com.zhy.adapter.abslistview.CommonAdapter;

import com.zhy.adapter.abslistview.ViewHolder;

import java.util.ArrayList;

public class GlideNoThumActivity extends BaseActivity {

private RequestOptions options;

{

sourceImageList = new ArrayList<>();

sourceImageList.add("http://t2.27270.com/uploads/tu/201706/9999/d38274f15c.jpg");

sourceImageList.add("http://t2.27270.com/uploads/tu/201706/9999/061548f1fb.jpg");

sourceImageList.add("http://t2.27270.com/uploads/tu/201706/9999/4a85dd9bd9.jpg");

sourceImageList.add("http://t2.27270.com/uploads/tu/201706/9999/a6c57f438d.jpg");

sourceImageList.add("http://t2.27270.com/uploads/tu/201706/9999/b6ae25c618.jpg");

sourceImageList.add("http://t2.27270.com/uploads/tu/201612/562/lua4uwojfds.jpg");

sourceImageList.add("http://t2.27270.com/uploads/tu/201612/562/4hp4d1fcocu.jpg");

sourceImageList.add("http://t2.27270.com/uploads/tu/201612/562/d2madqozild.jpg");

sourceImageList.add("http://ww1.sinaimg.cn/large/9be2329dgw1etlyb1yu49j20c82p6qc1.jpg");

}

@Override

protected int getContentView() {

return R.layout.activity_grid_view;

}

@Override

protected void initView() {

gvImages = (GridView) findViewById(R.id.gv_images);

}

@Override

protected void testTransferee() {

config = TransferConfig.build()

.setSourceImageList(sourceImageList)

.setMissPlaceHolder(R.mipmap.ic_empty_photo)

.setErrorPlaceHolder(R.mipmap.ic_empty_photo)

.setProgressIndicator(new ProgressPieIndicator())

.setIndexIndicator(new NumberIndexIndicator())

.setJustLoadHitImage(true)

.setImageLoader(Glide4ImageLoader.with(getApplicationContext()))

.setOnLongClcikListener(new Transferee.OnTransfereeLongClickListener() {

@Override

public void onLongClick(ImageView imageView, int pos) {

saveImageByUniversal(imageView);

}

})

.create();

options = new RequestOptions().centerCrop()

.placeholder(R.mipmap.ic_empty_photo);

gvImages.setAdapter(new NineGridAdapter());

}

@Override

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {

if (requestCode != WRITE_EXTERNAL_STORAGE) {

Toast.makeText(this, "请允许获取相册图片文件写入权限", Toast.LENGTH_SHORT).show();

}

}

private class NineGridAdapter extends CommonAdapter {

public NineGridAdapter() {

super(GlideNoThumActivity.this, R.layout.item_grid_image, sourceImageList);

}

@Override

protected void convert(ViewHolder viewHolder, final String item, final int position) {

ImageView imageView = viewHolder.getView(R.id.image_view);

Glide.with(GlideNoThumActivity.this)

.load(item)

.apply(options)

.into(imageView);

imageView.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

config.setNowThumbnailIndex(position);

config.setOriginImageList(wrapOriginImageViewList(sourceImageList.size()));

transferee.apply(config).show(new Transferee.OnTransfereeStateChangeListener() {

@Override

public void onShow() {

Glide.with(GlideNoThumActivity.this).pauseRequests();

}

@Override

public void onDismiss() {

Glide.with(GlideNoThumActivity.this).resumeRequests();

}

});

}

});

}

}

protected List wrapOriginImageViewList(int size) {

List originImgList = new ArrayList<>();

for (int i = 0; i < size; i++) {

ImageView thumImg = (ImageView) ((LinearLayout) gridview.getChildAt(i)).getChildAt(0);

originImgList.add(thumImg);

}

return originImgList;

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值