ImgActivity.java 8.57 KB
package com.cnlive.strike.imgutil;

import androidx.appcompat.app.AppCompatActivity;

import android.animation.ObjectAnimator;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.ImageView;

import com.alibaba.android.arouter.launcher.ARouter;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DecodeFormat;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.transition.ViewPropertyTransition;
import com.cnlive.core.activity.PreviewImageActivity;
import com.cnlive.core.imageload.callback.ImageDownLoadCallBack;
import com.cnlive.core.imageload.config.PriorityMode;
import com.cnlive.core.imageload.config.ScaleMode;
import com.cnlive.core.imageload.loader.ImageLoader;
import com.cnlive.core.imageload.preview.PreviewImageViewActivity;
import com.cnlive.core.imageload.preview.model.ImagePreviewShowInfo;
import com.cnlive.core.imageload.preview.model.PreviewData;
import com.cnlive.core.imageload.util.DownLoadImageService;
import com.cnlive.cloud.R;
import com.cnlive.cloud.user.auth.UserService;

import java.util.ArrayList;
import java.util.List;

public class ImgActivity extends AppCompatActivity {

    private ImageView iv_test1;
    private ImageView iv_test2;
    private ImageView iv_test3;
    private ImageView iv_test4;
    private ImageView iv_test5;
    private ImageView iv_test6;
    private ImageView iv_test7;
    private ImageView iv_test8;
    private ImageView iv_test9;
    private ImageView iv_test10;
    private ImageView iv_test11;


    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 1) {
                iv_test11.setImageBitmap(bitmaps);
            }
        }
    };


    String URL1 = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1574403931080&di=ea10bd1adb20025f02e296d8694f7bb4&imgtype=0&src=http%3A%2F%2Fimg3.duitang.com%2Fuploads%2Fitem%2F201506%2F23%2F20150623164841_jtvR3.thumb.700_0.jpeg";
    String URL2 = "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1035013881,3985887911&fm=26&gp=0.jpg";


    String FOREWARD_SLASH = "/";
    String ASSERTS_PATH  ="file:///android_asset/" ;
    String ANDROID_RESOURCE  ="android.resource://" ;
    String RAW  ="/raw/" ;
    Bitmap bitmaps;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_img);
        ImageLoader.init(this);
        findview();
        load();
    }

    private void findview() {
        iv_test1 = findViewById(R.id.iv_test1);
        iv_test2 = findViewById(R.id.iv_test2);
        iv_test3 = findViewById(R.id.iv_test3);
        iv_test4 = findViewById(R.id.iv_test4);
        iv_test5 = findViewById(R.id.iv_test5);
        iv_test6 =findViewById(R.id.iv_test6);
        iv_test7 =  findViewById(R.id.iv_test7);
        iv_test8 =  findViewById(R.id.iv_test8);
        iv_test9 =  findViewById(R.id.iv_test9);
        iv_test10 =  findViewById(R.id.iv_test10);
        iv_test11 =  findViewById(R.id.iv_test11);

        findViewById(R.id.simpla_see).setOnClickListener(view -> startActivity(new Intent(this,SimplePrevActivity.class)));
        findViewById(R.id.pre_btn).setOnClickListener(view -> {
            ArrayList<String> list = new ArrayList<>();
            list.add("https://b-ssl.duitang.com/uploads/item/201505/09/20150509221719_kyNrM.jpeg");
            list.add("https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1035013881,3985887911&fm=26&gp=0.gif");
            list.add("https://b-ssl.duitang.com/uploads/item/201505/11/20150511122951_MAwVZ.jpeg");
            list.add("https://b-ssl.duitang.com/uploads/item/201704/23/20170423205828_BhNSv.jpeg");
            ARouter.getInstance().build("/preview/PreviewImageActivity")
                    .withStringArrayList("paths", list)
                    .navigation(this);
        });
    }


    private void load(){
        ViewPropertyTransition.Animator animation = new ViewPropertyTransition.Animator(){

            @Override
            public void animate(View view) {
                view.setAlpha( 0f );
                ObjectAnimator fadeAnim = ObjectAnimator.ofFloat( view, "alpha", 0f, 1f );
                fadeAnim.setDuration( 2500 );
                fadeAnim.start();
            }
        };


        ImageLoader.with(this)
                .url(URL1)
                .animate(animation)
                .scale(ScaleMode.CENTER_CROP)
                .into(iv_test1);

        PreviewData data = new PreviewData();
        data.setCollection(true);
        data.setSid(UserService.getUid(this));
        data.setType("1");
        data.setUserId(UserService.getUid(this));
        data.setCollection(true);
        data.setSave(true);

        ArrayList<ImagePreviewShowInfo> list = new ArrayList<>();
        ImagePreviewShowInfo info = new ImagePreviewShowInfo();
        info.setImgPath(URL1);
        info.setPreviewPath(URL1);
        list.add(info);
        data.setPicList(list);


        data.setShowImg(URL1);
//        iv_test1.setOnClickListener(view -> PreviewImageViewActivity.startPreviewPictrue(this, view, data));

//        LoadImage.with(this)
//                .url(URL1)
//                .scale(ScaleMode.FIT_CENTER)
//                .into(iv_test2);
        RequestOptions options = (new RequestOptions()).centerCrop().skipMemoryCache(true).format(DecodeFormat.PREFER_ARGB_8888).diskCacheStrategy(DiskCacheStrategy.RESOURCE);
        Glide.with(this).load(URL1).apply(options).into(iv_test2);
//        Glide.with(this).load(URL1).apply(new RequestOptions().centerCrop()).into(iv_test2);

//        Glide.with(this).asGif().diskCacheStrategy(DiskCacheStrategy.RESOURCE).load(URL2).into(iv_test3);

        ImageLoader.with(this)
                .url(URL2)
                .placeHolder(R.mipmap.ic_launcher)
                .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
                .scale(ScaleMode.FIT_CENTER)
                .into(iv_test3);

        ImageLoader.with(this)
                .res(R.mipmap.timg)
                .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
                .into(iv_test4);

        ImageLoader.with(this)
                .res(R.mipmap.timgs)
                .into(iv_test5);

        ImageLoader.with(this)
                .res(R.mipmap.timgs)
                .vignetteFilter()//晕映
                .priority(PriorityMode.PRIORITY_NORMAL)//优先级
                .into(iv_test6);

        ImageLoader.with(this)
                .res(R.mipmap.timgs)
                .sketchFilter()
                .into(iv_test7);

        ImageLoader.with(this)
                .res(R.mipmap.timgs)
                .sketchFilter()
                .into(iv_test7);

            //加载本地图片
//        LoadImage.with(this)
//                .file(new File(getFilesDir(), IMG_NAME_C))
//                .placeHolder(R.mipmap.ic_launcher)
//                .scale(ScaleMode.FIT_CENTER)
//                .into(iv_test7);

        ImageLoader.with(this)
                .asserts(ASSERTS_PATH + "timgs.png")
                .into(iv_test8);
        ImageLoader.with(this)
                .raw(ANDROID_RESOURCE+getPackageName()+RAW+R.raw.timgs)
                .placeHolder(R.mipmap.ic_launcher)
                .scale(ScaleMode.FIT_CENTER)
                .asCircle()
                .into(iv_test9);

        ImageLoader.with(this)
                .res(R.mipmap.timgs)
                .placeHolder(R.mipmap.ic_launcher)
                .scale(ScaleMode.FIT_CENTER)
                .rectRoundCorner(50)
                .into(iv_test10);

           // .asSquare()//正方形
        findViewById(R.id.down).setOnClickListener(view -> {
            ImageLoader.saveImageIntoGallery(new DownLoadImageService(ImgActivity.this, URL1, true, "lala", new ImageDownLoadCallBack() {

                @Override
                public void onDownLoadSuccess(Bitmap bitmap) {
                    //网络请求
                    bitmaps = bitmap;
                    Message msg = new Message();
                    //将获取到的String装载到msg中
                    msg.what = 1;
                    //发消息到主线程
                    handler.sendMessage(msg);
                }

                @Override
                public void onDownLoadFailed() {
//                    Toast.makeText(ImgActivity.this,"下载",Toast.LENGTH_SHORT).show();
                }

            }));
        });
    }


}