美文网首页Android
方便,好体验得显示长图片

方便,好体验得显示长图片

作者: 简书_朱聪 | 来源:发表于2018-01-03 17:43 被阅读0次

/*

显示长图片,但是要小心OOM,目前我的图片为5.32MB可以正常使用.

如果出现OOM,可以尝试使用ListView

也可以使用webView,但是webView体验不如本地原生.

*/

public void setLongPicture(String assetsLocation){

try {

//获得图片的宽、高

        BitmapFactory.Options tmpOptions =new BitmapFactory.Options();

        tmpOptions.inJustDecodeBounds =true;

        BitmapFactory.decodeStream(getAssets().open(assetsLocation), null, tmpOptions);

        int width =tmpOptions.outWidth;

        int height =tmpOptions.outHeight;

        //设置显示图片的中心区域

        BitmapRegionDecoder bitmapRegionDecoder =BitmapRegionDecoder.newInstance(getAssets().open(assetsLocation), false);

        BitmapFactory.Options options =new BitmapFactory.Options();

        options.inPreferredConfig =Bitmap.Config.ARGB_8888;

        int beforeHeight;

        int currentHeight =0;

        int singleIncrease =4096;

        Bitmap bitmap;

        ImageView imageView;

        while (true){

beforeHeight =currentHeight;

            currentHeight+=singleIncrease;

            if (currentHeight

bitmap =bitmapRegionDecoder.decodeRegion(new Rect(0, beforeHeight, width, currentHeight), options);

                imageView =new ImageView(this);

                imageView.setImageBitmap(bitmap);

                mLl.addView(imageView);

            }else{

bitmap =bitmapRegionDecoder.decodeRegion(new Rect(0, beforeHeight, width, height), options);

                imageView =new ImageView(this);

                imageView.setImageBitmap(bitmap);

                mLl.addView(imageView);

                return;

            }

}

}catch (IOException e) {

e.printStackTrace();

    }

}

相关文章

  • 方便,好体验得显示长图片

    /* 显示长图片,但是要小心OOM,目前我的图片为5.32MB可以正常使用. 如果出现OOM,可以尝试使用List...

  • Android ImageView ScaleType详解

    1. center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示 2....

  • 兼容ie图片不拉伸

    图片显示拉伸(ie兼容性) 长>宽 或者 宽>长时,图片盒子为正方形时 图片默认拉伸变形。 1. 网站中出现图片的...

  • java 实现微博长图文

    长图文生成 很久很久以前,就觉得微博的长图文实现得非常有意思,将排版直接以最终的图片输出,收藏查看分享都很方便,现...

  • 基于TextView 实现标签化TextLabel及图文混排

    TextView 是我们最常用的View,经常使用它进行显示文字,但使用TextView来显示图片变显的不那么方便...

  • android的WebView 显示手机图片

    前言 WebView显示Html页面,有时需要显示手机选择的图片。开始使用Base64,方便快捷。但是产品经理改成...

  • 安卓开发ImageLoader图片神器

    使用ImageLoader可以让我们方便在listview里对图片或者视频的第一帧图片显示。1、添加依赖 2、新建...

  • Android ImageView ScaleType

    ImageView.ScaleType.CENTER按图片的原来size居中显示,当图片长/宽超过View的长/宽...

  • 莱布尼茨公式(图)

    莱布尼茨公式(或:莱布尼兹公式) 给出图片(清晰版),方便做笔记复制。 图片: 展开版的可能太长了,显示不清楚,于...

  • 性能优化(6.1,长图显示)

    长图大图的显示 长图的显示主要是用区域解码器,复用内存,滑动时改变显示区域我们要处理的是设置图片的复用,设置滑动和...

网友评论

    本文标题:方便,好体验得显示长图片

    本文链接:https://www.haomeiwen.com/subject/rhcknxtx.html