美文网首页
Android ImageDecoder读取GIF图片

Android ImageDecoder读取GIF图片

作者: gaookey | 来源:发表于2022-02-12 17:23 被阅读0次
    image.png
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            // 获取TextView对象
            TextView textView = findViewById(R.id.tv);
            // 获取ImageView对象
            ImageView imageView = findViewById(R.id.image);
            // ①、创建ImageDecoder.Source对象
            ImageDecoder.Source source = ImageDecoder.createSource(getResources(), R.drawable.fat_po);
            try {
                // ②,执行decodeDrawable()方法获取Drawable对象
                @SuppressLint("WrongThread") Drawable drawable = ImageDecoder.decodeDrawable(source, (decoder, info, s) -> {
                    // 通过info参数获取被解码的图片信息
                    textView.setText("图片原始宽度" + info.getSize().getWidth()
                            + "\n" + "图片原始高度" + info.getSize().getHeight());
                    // 设置图片解码之后的缩放大小
                    decoder.setTargetSize(600, 580);
                });
                imageView.setImageDrawable(drawable);
                // 如果drawable是AnimatedImageDrawable的实例,执行动画
                if (drawable instanceof AnimatedImageDrawable) {
                    ((AnimatedImageDrawable) drawable).start();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    

    摘抄至《疯狂Android讲义(第4版)》

    相关文章

      网友评论

          本文标题:Android ImageDecoder读取GIF图片

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