使用bga-photopicker快速实现图片预览

话不多说,直接看代码

public class Album extends Activity implements BGANinePhotoLayout.Delegate ,BGAOnRVItemClickListener ,View.OnClickListener {
    private RecyclerView mMomentRv;
    private MomentAdapter mMomentAdapter;
    private BGANinePhotoLayout mCurrentClickNpl;
    Context mContext;
    DayRecord dayRecord;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_album);
        mContext = this;
        initView();
        mMomentRv = findViewById(R.id.rv_moment_list_moments);
        mMomentAdapter = new MomentAdapter(mMomentRv);
        mMomentRv.setLayoutManager(new LinearLayoutManager(this));
        mMomentRv.setAdapter(mMomentAdapter);
        mMomentAdapter.setOnRVItemClickListener(this);
        dayRecord = (DayRecord) getIntent().getSerializableExtra("dayRecord");
        mMomentAdapter.setData(dayRecord.getZhaopian());

    }
    void initView(){
        TextView textView = findViewById(R.id.normal_action_bar_textView);
        textView.setText("相册");
        findViewById(R.id.back_button).setOnClickListener(this);
    }

    @Override
    public void onClickNinePhotoItem(BGANinePhotoLayout ninePhotoLayout, View view, int position, String model, List<String> models) {
        mCurrentClickNpl = ninePhotoLayout;
        photoPreviewWrapper();
    }

    @Override
    public void onRVItemClick(ViewGroup parent, View itemView, int position) {

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.back_button:
                finish();
                break;

        }
    }


    private class MomentAdapter extends BGARecyclerViewAdapter<Zhaopian> {

        public MomentAdapter(RecyclerView recyclerView) {
            super(recyclerView, R.layout.album_item);
        }

        @Override
        protected void fillData(BGAViewHolderHelper helper, int position, Zhaopian zhaopian) {
            if (TextUtils.isEmpty(zhaopian.getMemo())) {
                helper.setVisibility(R.id.tv_item_moment_content, View.GONE);
            } else {
                helper.setVisibility(R.id.tv_item_moment_content, View.VISIBLE);
                helper.setText(R.id.tv_item_moment_content, zhaopian.getMemo());
            }
            helper.setText(R.id.tv_item_moment_username,"发布于"+zhaopian.getCreateTime());
            BGANinePhotoLayout ninePhotoLayout = helper.getView(R.id.npl_item_moment_photos);
            ninePhotoLayout.setDelegate(Album.this);
            String[] urls = zhaopian.getResultFile().split(",");
            ArrayList<String> photos = new ArrayList<>(Arrays.asList(urls)) ;
            ninePhotoLayout.setData(photos);
        }
    }

    private void photoPreviewWrapper() {
        if (mCurrentClickNpl == null) {
            return;
        }
        BGAPhotoPreviewActivity.IntentBuilder photoPreviewIntentBuilder = new BGAPhotoPreviewActivity.IntentBuilder(this)
                .saveImgDir(null); // 保存图片的目录,如果传 null,则没有保存图片功能

        if (mCurrentClickNpl.getItemCount() == 1) {
            // 预览单张图片
            photoPreviewIntentBuilder.previewPhoto(mCurrentClickNpl.getCurrentClickItem());
        } else if (mCurrentClickNpl.getItemCount() > 1) {
            // 预览多张图片
            photoPreviewIntentBuilder.previewPhotos(mCurrentClickNpl.getData())
                    .currentPosition(mCurrentClickNpl.getCurrentClickItemPosition()); // 当前预览图片的索引
        }
        startActivity(photoPreviewIntentBuilder.build());

    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值