码迷,mamicode.com
首页 > 移动开发 > 详细

Android的Bitmap和BitmapDrawable类解析-android学习之旅(六十)

时间:2015-07-02 12:06:22      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:android   bitmap   

技术分享

使用简单图片

技术分享

使用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));
                }
            }
        });
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android的Bitmap和BitmapDrawable类解析-android学习之旅(六十)

标签:android   bitmap   

原文地址:http://blog.csdn.net/lpjishu/article/details/46724155

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!