zoukankan      html  css  js  c++  java
  • Android的Bitmap和BitmapDrawable类解析-android学习之旅(六十)

    这里写图片描写叙述

    使用简单图片

    这里写图片描写叙述

    使用Drawable对象

    这里写图片描写叙述

    bitmap和BitmapDrawable对象

    这里写图片描写叙述
    这里写图片描写叙述
    这里写图片描写叙述

    package peng.liu.test;
    
    import android.app.Activity;
    import android.content.res.AssetFileDescriptor;
    import android.content.res.AssetManager;
    import android.graphics.BitmapFactory;
    import android.graphics.drawable.BitmapDrawable;
    import android.graphics.drawable.ClipDrawable;
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.view.View;
    import android.view.animation.Animation;
    import android.view.animation.AnimationUtils;
    import android.widget.ImageView;
    
    import java.io.InputStream;
    import java.util.Timer;
    import java.util.TimerTask;
    
    
    public class MainActivity extends Activity{
        String[] images;
        ImageView image;
        int currentImg;
        AssetManager asset;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            image = (ImageView) findViewById(R.id.imageBit);
            try{
                asset = getAssets();
                images = asset.list("");
            }catch (Exception e){
                e.printStackTrace();
            }
            findViewById(R.id.btnBit).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (currentImg >= images.length){
                        currentImg = 0;
                    }
                    while (!images[currentImg].endsWith(".png")&&!images[currentImg].endsWith(".jpg")&&!images[currentImg].endsWith(".gif")){
                        currentImg++;
                        if (currentImg >= images.length){
                            currentImg = 0;
                        }
                        InputStream assetFile = null;
                        try{
                            assetFile = asset.open(images[currentImg++]);
                        }catch (Exception e){
                            e.printStackTrace();
                        }
                        BitmapDrawable drawable = (BitmapDrawable) image.getDrawable();
                        if (drawable != null && !drawable.getBitmap().isRecycled()){
                            drawable.getBitmap().recycle();
                        }
                        image.setImageBitmap(BitmapFactory.decodeStream(assetFile));
                    }
                }
            });
        }
    }
    
  • 相关阅读:
    李克强:在量子通信等重点领域启动新的科技项目
    移动大数据时代最IN编程语言必读书单
    Tomcat禁止显示目录和文件列表
    MySQL数据表修复, 如何修复MySQL数据库(MyISAM / InnoDB)
    rootkit的检测工具使用(chkrootkit和rootkit hunter)
    5个最佳免费Linux杀毒软件
    数学百家
    科普类数学
    Default Document <defaultDocument> IIS中的默认页面
    Authentication configuration in asp.net
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5280584.html
Copyright © 2011-2022 走看看