MainActivity.java 2.74 KB
package com.cnlive.strike.debug;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;

import com.cnlive.media.ImagePicker;
import com.cnlive.media.PickerConfig;
import com.cnlive.media.media.entity.Media;
import com.cnlive.media.utils.GlideCacheUtil;
import com.cnlive.strike.debug.R;
import com.cnlive.strike.debug.databinding.ActivityMainBinding;

import java.util.ArrayList;


public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private ActivityMainBinding mainBinding;
    private ArrayList<Media> select;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);
        mainBinding.setOnClick(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.tv_camera:
                //打开相机
                new ImagePicker
                        .Builder()
                        .setJumpCameraMode(PickerConfig.CAMERA_MODE_ALL)
                        .builder()
                        .startCamera(this, select, PickerConfig.PICKER_IMAGE, PickerConfig.DEFAULT_RESULT_CODE);
                break;
            case R.id.bt_preview:
                //打开预览
                new ImagePicker.Builder()
                        .builder()
                        .startPreview(this, 0, select, PickerConfig.PICKER_IMAGE, PickerConfig.DEFAULT_RESULT_CODE);
                break;
            case R.id.tv_media:
                //打开相册
                new ImagePicker.Builder()
                        .setSelectGif(false)
                        .needCamera(true)
                        .maxNum(9)
                        .selectMode(PickerConfig.PICKER_IMAGE_VIDEO)
                        .maxVideoSize(100 * 1024 * 1024)
                        .maxImageSize(1 * 1024 * 1024)
                        .defaultSelectList(select)
//                        .doCrop(1, 1, 900, 900)
                        .builder()
                        .start(this, PickerConfig.PICKER_IMAGE, PickerConfig.DEFAULT_RESULT_CODE);
                break;
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == PickerConfig.DEFAULT_RESULT_CODE) {
            select = data.getParcelableArrayListExtra(PickerConfig.EXTRA_RESULT);
            GlideCacheUtil.intoItemImage(this, select.get(0), mainBinding.ivPre, null);
        }

    }
}