Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android的Bitmap和BitmapDrawable類解析-android學習之旅(六十)

Android的Bitmap和BitmapDrawable類解析-android學習之旅(六十)

編輯:關於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));
                }
            }
        });
    }
}

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved