使用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 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 {

        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 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());

    }

}

 

你可能感兴趣的:(相册,图片预览)